Как отлаживать POST-запросы XHR в Safari 4? - PullRequest
3 голосов
/ 27 августа 2009

У меня есть запрос XHR, который успешно выполняется в FF3.5, но, очевидно, не выполняется, когда выполняется в Safari 4. Я смотрю запросы xhr в отладчике в Safari и Firebug в Firefox.

Таким образом, в бэкэнд-сервисе, к которому обращаются, если имя пользователя и пароль отсутствуют в параметре POST, тогда сервис выдает ошибку 500. Если параметры есть (даже если они неверны), это дает 200 или 40x в зависимости от ошибки.

В любом случае, поэтому с тем же кодом он работает для браузеров не-Safari. Safari получает ошибку 500, как будто пользователь / пароль не проходит.

Поскольку я проверяю запросы в отладчике, не похоже, что он показывает данные POST в журналах.

Есть ли вариант, который мне нужно включить, или просто как отлаживать эти запросы в Safari 4?

Ответы [ 2 ]

5 голосов
/ 27 августа 2009

Если вы имеете в виду Safari «Веб-инспектор»: он действительно не показывает данные POST при отправке с использованием Ajax. Я бы использовал анализатор пакетов, например Wireshark (но только потому, что я использую его и для других целей), или прокси-сервер отладки .

Некоторые вещи, которые нужно проверить с помощью POST: вы вызываете setRequestHeader для установки требуемых заголовков HTTP, таких как Connection, Content-Type и Content-Length? И поскольку ваш код работает с Firefox, я предполагаю, что вы на самом деле устанавливаете содержимое POST, используя send? Разместите свой код в JS Bin пожалуйста!

(Только для архивов: помимо включения меню debug через defaults.write, Safari 4 также имеет меню Develop , которое можно просто включить с помощью расширенных настроек. Выберите «Показать Web Inspector ⌥⌘I», и вы сможете увидеть запросы и ответы на вкладке «Ресурсы». Убедитесь, что выбрана «Сортировка по времени начала». Если XHR отправляется через GET, очевидно, что нужно посмотреть на запрос Сам URL, который отображается нормально. Однако для POST отображаются заголовки запроса, но данные POST к сожалению отсутствуют. Хотя я никогда не использовал меню debug .)

2 голосов
/ 20 февраля 2015

На сегодняшний день (Safari 7.1) данные запроса POST отображаются на правой боковой панели, если вы выбрали такой XHR (в папке XHRs на вкладке Ресурсы ):

Select an XHR from the Resources Tab in Safari Web Insepctor

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