Что состоит в том, чтобы видеть простой способ, какие вызовы Ajax выполняются?

Вы не можете использовать break; таким образом, оно должно появляться внутри тела цикла for.

Есть несколько способов сделать это, но ни один не рекомендуется:

  • Вы можете выйти из программы с помощью функции exit(). Поскольку цикл запускается из main(), и вы ничего не делаете после него, можно добиться того, чего вы хотите, таким образом, но это как особый случай.

  • Вы можете установить глобальную переменную в функции и проверить ее в цикле for после вызова функции. Использование глобальных переменных обычно не рекомендуется.

  • вы можете использовать setjmp() и longjmp(), но это все равно, что пытаться раздавить муху молотком, вы можете сломать другие вещи и вообще пропустить муху. Я бы не рекомендовал такой подход. Кроме того, требуется jmpbuf, что вам нужно будет передать в функцию или получить доступ в качестве глобальной переменной.

Приемлемой альтернативой является передача адреса переменной status в качестве дополнительного аргумента: функция может установить его, чтобы указать необходимость выхода из цикла.

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

Из ваших объяснений у вас нет исходного кода для foo(), но вы можете обнаружить некоторые условия в функции, которую вы можете изменить, вызывая прямо или косвенно с помощью foo(): longjmp() выпрыгнет из своего местоположения, глубоко внутри foo(), возможно, много уровней вниз по стеку вызовов, до местоположения setjmp(), минуя обычный код завершения функции для всех промежуточных вызовов. Если это именно то, что вам нужно сделать, чтобы избежать сбоя, setjmp() / longjmp() является решением, но оно может вызвать другие проблемы, такие как утечка ресурсов, отсутствующая инициализация, несогласованное состояние и другие источники неопределенного поведения.

Обратите внимание, что ваш цикл for будет повторяться 101 раз, потому что вы используете оператор <=. Идиоматический цикл for использует for (int i = 0; i < 100; i++) для итерации в точности столько раз, сколько отображается в качестве верхней (исключенной) границы.

8
задан Kip 26 May 2009 в 15:12
поделиться

5 ответов

Firebug должен отображать его на панели Net.

] РЕДАКТИРОВАТЬ : Кроме того, если Firebug замедляет ваш Firefox так, что он становится непригодным для использования, как это иногда бывает у меня, WireShark (ранее Ethereal) проанализирует весь сетевой трафик в вашей системе, включая Запросы HTTP и AJAX.

29
ответ дан 5 December 2019 в 04:32
поделиться

Firebug показывает их как на панели «Сеть», так и в представлении консоли. Однако вам нужно включить «Показать XMLHttpRequests».

6
ответ дан 5 December 2019 в 04:32
поделиться

Я использовал почти все крупные инструменты (скрипач, firebug, httpfox, живые заголовки http). На мой взгляд, лучший вариант - HTTPFox , если вы используете Firefox, потому что он имеет простые возможности фильтрации, позволяет просматривать ваш JSON-запрос / ответ как необработанный или отформатированный, а общий интерфейс очень чистый.

Кроме того, я не могу обойтись без WFetch для тестирования веб-сервисов и прочего AJAX. Обычно я беру запрос от HTTPFox и вставляю его в WFetch. Таким образом, мне не нужно каждый раз заходить в браузер. Я просто нажимаю F5 в WFetch, чтобы воспроизвести запрос, и напрямую изменяю его.

Боковое примечание: в WFetch будьте осторожны с длиной содержимого, если у вас есть полезные данные POST. Если вы изменяете полезную нагрузку, длину содержимого необходимо изменить соответствующим образом. По этой причине я сохраняю свои запросы в файл и указываю WFetch на этот файл. В самом файле легко узнать длину строки и изменить на нее длину содержимого.

alt text
(источник: koreus.com )

альтернативный текст http: //www.port80software .com / assets / images / ld_wfetch3.gif

7
ответ дан 5 December 2019 в 04:32
поделиться

Посмотрите на данные о вмешательстве как хорошо. Это надстройка Firefox, которая позволяет вам просматривать каждый отдельный HTTP-запрос (включая любые данные публикации) и ответ, а также их заголовки. Я нашел его очень полезным для отладки проблем с AJAX ... хотя Firebug отлично работает.

2
ответ дан 5 December 2019 в 04:32
поделиться

Fiddler 2 - отличный инструмент для отслеживания HTTP-трафика.

* Обновление 2014 г. *

Со времени моего первоначального сообщения и Internet Explorer, и Chrome добавили встроенного разработчика инструменты, которые весьма полезны. Хотя я по-прежнему поддерживаю и использую Fiddler для HTTP-мониторинга, не связанного с сетью, или когда мне нужно действительно копаться в деталях и изменять запросы в пути, в наши дни я в значительной степени использую встроенные инструменты IE или Chrome, поскольку их достаточно для 99% моих потребностей. У них обоих есть вкладка сети, где вы можете отслеживать HTTP-запросы, а также другие полезные функции для отладки веб-страниц.

10
ответ дан 5 December 2019 в 04:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: