我的刀片文件@if($ url ['applied'] == true)中有一个条件,我想根据我的Ajax调用值来更改此条件。

jQuery.ajax({
          type: "",
          headers: '',
          url: '',
          data: '',
          success: function(data) {
            <?php $url['applied'] = false ?>;
          }
      });

最佳答案

我认为您在这里有误解/误解。

可以在PHP(Laravel)渲染HTML文件并将其加载到浏览器之后进行ajax调用。然后,ajax调用将在您的浏览器中完成,而不是在服务器中完成。因此,您不能从客户端/浏览器端分配PHP变量。

您可以做的是可以在刀片文件中创建一个JavaScript变量(不建议使用btw(https://stackoverflow.com/a/23740549/1331040)):

var urlApplied = {{$url['applied']}};


然后根据ajax响应隐藏/显示内容:

jQuery.ajax({
      ...
      success: function(data) {
        urlApplied = data.response; // or whatever the property you have instead of 'response'
      }
  });


由于您尚未提供要隐藏/显示的内容,因此我无法提供更具体的隐藏/显示逻辑,但希望这可以为您提供一个线索。

但是我强烈建议您通过将浏览器流和客户端流解耦来重新考虑逻辑(您可以在我上面共享的链接中阅读答案)。

关于javascript - 如何从ajax调用更改php变量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56984293/

10-11 03:50
查看更多