Вставить код Php в метод успеха Ajax - PullRequest
0 голосов
/ 04 марта 2011

Я использую jquery ajax Могу ли я использовать PHP-код в success: function(html){} ??

Ответы [ 5 ]

2 голосов
/ 04 марта 2011

Нет, код jquery / JavaScript выполняется на стороне клиента.Вы можете написать код JavaScript / jQuery или предварительно обработать ответ на запрос XHR в php.

0 голосов
/ 04 марта 2011

Вы используете PHP косвенно в любом случае.Нет необходимости отмечать в функции успеха:

$.ajax({
     url: "execute.php",
     success: function(html){}

И html происходит непосредственно из сценария execute.php.И именно здесь вы делаете любые вещи PHP, такие как:

<?php   echo "<div>" . php_stuff() . "</div>";   ?>

Думайте о сценарии PHP как о первой половине выполнения, а о jQuery success: обратном вызове как о второй части вызова AJAX.

0 голосов
/ 04 марта 2011

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

0 голосов
/ 04 марта 2011

Да.
Например, вы можете сделать:

success: function(html) {
  <?php echo 'alert("Hello, World!");' ?>
}
0 голосов
/ 04 марта 2011

Нет, не напрямую, поскольку JavaScript выполняется на стороне клиента, а PHP выполняется на сервере.

Обходной путь - отправить еще один AJAX-запрос от вашей функции успеха. Но он может делать что-то только на стороне сервера, а не на стороне клиента.

Если вы просто хотите загрузить файл из функции обратного вызова, используйте location.href = url. URL может быть серверным PHP-скриптом, обслуживающим поток данных, или реальным файлом.

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