Подтвердить что ты не робот

Разница между php echo и return в терминах jQuery ajax call

У меня возникла проблема с тем, что функция успешного выполнения jQuery Ajax корректно работала, и мне было указано, что причина в том, что моя функция PHP использовала возвращаемый результат $, когда я должен использовать результат echo $.

Изменение функции PHP, которую Ajax вызывал из "return $result" в "echo $result", устранил проблему, но почему? Там много объяснений относительно разницы между двумя (возврат и эхо) в терминах PHP-скриптов, но как они отличаются при отправке этого значения на вызов Ajax?

4b9b3361

Ответ 1

Ну, вызов ajax считывает ответ с сервера, и этот ответ должен отображаться как некоторый тип считываемых данных, например application/json или text/html.

Чтобы записать эти данные, вам нужно echo с сервера с PHP.

Оператор return не записывает данные, он просто возвращается на уровне сервера.

Ответ 2

В вызове Ajax используется ответ HTTP-запроса. PHP script не генерирует вывод, сохраняя его, но эхом.

Ответ 3

Ajax вызывает данные так же, как и мы, читает их как строку. Это в основном доступ к другой веб-странице и "получение" результата. PHP 'return' возвращает значение только на сервере. Вам нужно фактически выводить данные, чтобы при вызове Ajax на странице, на которую он смотрит, на самом деле записаны данные.

Ответ 4

Команда echo выводит данные на стандартный вывод, это в приложениях веб-браузера, клиент, который запросил данные. В CLI напечатайте данные на консоли. И команда return выдает функцию со значением, но ничего не печатает.

Если вы хотите обмениваться информацией между функциями PHP, вы должны использовать return. Но если вы хотите выводить некоторые данные, вы должны использовать echo.