Как отлаживать AJAX-запросы? Как узнать, какая функция PHP вызывается? - PullRequest
3 голосов
/ 11 ноября 2010

Я отлаживаю вызовы Ajax.

Как узнать, какая конкретная функция PHP вызывается при вызове ajax?

Я вижу только запрос и код javascript, запускающий запрос, но я не знаю, как обрабатывается запрос на стороне сервера?

В настоящее время я проверяю весь php-код, но мне было интересно, есть ли более простой способ ..

спасибо

Ответы [ 6 ]

3 голосов
/ 11 ноября 2010

Ajax-вызов не вызывает конкретную функцию, он просто выполняет скрипт.Посмотрите на сценарий, поищите его «main» (какое бы имя оно не указывало в вашем сценарии), и у вас появится ожидаемая функция.

1 голос
/ 11 ноября 2010

Если вам нужна настоящая среда отладки и вы можете установить точки останова в своем php-коде, обратитесь к отладчику zend или xdebug.И то, и другое можно контролировать с помощью pdt eclipse-plugin или других IDE.

Если вы просто хотите увидеть небольшие фрагменты информации, вы, конечно, можете просто добавить несколько эхо-сигналов или var_dump в свой php-код, а затем использоватьРасширение Firebug Firefox для просмотра ответа на ваши ajax-запросы, который содержит отраженные строки.

0 голосов
/ 08 мая 2011

Отладка с помощью аддона Firefox FireBug, вы можете легко проверить содержимое данных запроса и ответа.

http://www.daniweb.com/web-development/php/code/216729

Итак, по праву Ajax не может получить доступ к содержимому удаленного веб-сервера, поэтому вам нужна страница прокси в середине всего потока архитектуры.

Итак, что означает: [Внутри того же сервера] Страница PHP с использованием AJAX -> Веб-сервисы / Веб-сервер, который содержит ваши функции ответа

[В пределах 2 серверов, подключение к удаленному серверу] Страница PHP с использованием AJAX -> Страница прокси PHP -> Веб-сервисы / Веб-сервер, который содержит ваши функции ответа

Таким образом, общая прокси-страница действует как «посредник» при подключении к удаленному сайту.

[ВАЖНО] Не путайте прокси-сервер маршрутизатора и страницу прокси-сервера, но придерживайтесь той же теории, но это разные вещи.

0 голосов
/ 11 ноября 2010

Просто используйте firebug и после отправки запроса ищите ответ.Например, function1 echo foo, function2 echo bar, если она пуста ... ни одна из этих двух функций не была вызвана.

С моей стороны я использую Safari и нахожу оба запроса / ответа от вызова ajax кСценарий PHP очень прост.

0 голосов
/ 11 ноября 2010

Я бы порекомендовал вам использовать FireBug и FirePHP . FirePHP позволяет войти из PHP в консоль FireBug. Таким образом, вы можете регистрировать что угодно, например, все выполняемые запросы или регистрировать методы / функции.

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