Как изменить переменные php из вызова ajax? - PullRequest
0 голосов
/ 11 июля 2019

У меня есть условие в моем блейд-файле @if ($ url ['apply'] == true), и я хочу изменить это условие на основе значения моего вызова ajax .. Я попытался

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

1 Ответ

1 голос
/ 11 июля 2019

Я думаю, что у вас здесь неправильное понимание / неправильное представление.

Вызов ajax можно сделать после , когда PHP (Laravel) рендерит HTML-файл и загружает его в ваш браузер. Затем вызов ajax выполняется в вашем браузере, а не на сервере. Таким образом, вы не можете назначить переменную PHP со стороны клиента / браузера.

То, что вы можете сделать, это то, что вы можете создать переменную JavaScript внутри блейд-файла (что, кстати, не рекомендуется (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'
      }
  });

Поскольку вы не предоставили контент, который хотите скрыть / показать, я не могу дать более конкретную логику скрытия / отображения, но надеюсь, что это даст вам подсказку.

Но я настоятельно рекомендую вам пересмотреть логику, разделив потоки на стороне браузера и на стороне клиента (вы можете прочитать ответы по ссылке, которой я поделился выше).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...