PHP не отправляет текст ответа от вызова AJAX - PullRequest
0 голосов
/ 29 августа 2018

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

У меня есть базовая HTML-страница со скриптом JQuery, который отправляет следующий вызов AJAX скрипту PHP в том же каталоге.

JQuery:

// Sends the AJAX request
            $.ajax({
              type: "GET",
              url: "process.php",
              dataType: "json",
              success: function(data) {
                console.log(data);
              }
            });

PHP:

<!-- Ajax request handler -->
<?php 

echo json_encode(array('message' => 'AJAX call received'));

exit();

?>

AJAX-вызов выполняется успешно, так как после отладки в консоли его код состояния равен 200, а statusText 'ok'. Однако я просто не могу получить возвращенное сообщение JSON, чтобы оно отображалось в консоли, как и должно.

Я дважды проверил URL, и это нормально.

Это ответ, который я получаю в консоли, используя расширение AJAX Debugger Chrome от Jeff Hatz:

Снимок экрана консоли

Любые люди идеи?

1 Ответ

0 голосов
/ 29 августа 2018

Вам нужно удалить эту строку из верхней части вашего PHP:

<!-- Ajax request handler -->

Как и при вызове ajax с dataType: 'json', он не собирается анализировать ответ (вообще), а затем, когда вы делаете console.log(data);, он просто пустой, без консольного журнала.

Когда вы удалите эту строку, вы должны вместо этого получить на вкладке Сеть Ответ:

{"message":"AJAX call received"}

Что тогда в console.log(data); вы должны увидеть:

Object {message: "AJAX call received"}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...