Что означает «ожидающий» для запроса в окне разработчика Chrome?

105

Что означает « Ожидание » в столбце статуса на вкладке « Сеть » в окне разработчика Google Chrome?

Это происходит, когда мой скрипт страницы выдает запрос GET, ответ которого содержит заголовки содержимого для загрузки файла CSV:

Content-type: text/csv;
Content-Disposition: attachment; filename=myfile.csv

Это отлично работает в FF и IE7, загружая файл CSV, как ожидалось, и открывая средство выбора файлов для сохранения файла, но Chrome ничего не делает. Я подтвердил, что сервер отвечает на запрос, поэтому похоже, что Chrome не обработает ответ.

Любопытно, что все работает должным образом, если я наберу URL-адрес в адресной строке Chromes и нажму.

К вашему сведению: Chrome 10.0.648.204 на Win-XP

Лоуренс И. Сиден
источник
У меня аналогичная проблема с файлами javascript. Библиотеки jQuery не загружаются должным образом и вызывают проблемы.
Джек М.
Не забывайте, что эту проблему могут вызывать расширения - у меня была такая проблема с включением стороннего пикселя отслеживания аффилированных лиц, запрос навсегда застрял как «ожидающий обработки». Оказалось, я забыл отключить блокировку рекламы!
Энди Смит
13
Обратите внимание, что на этот вопрос (первое предложение) до сих пор нет ответа. Все ответы ниже (на сегодняшний день) просто «это то, что вызвало у меня это». Сообщение носит очень общий характер и может быть вызвано большим количеством проблем. Если бы я точно знал, что это такое, я бы ответил, но в целом, похоже, это означает, что по какой-то причине связь запрещена где-то между страницей и сервером. Под «страницей» я не имею в виду браузер, расширения браузера могут вызывать это, как упоминалось в другом месте.
AlexMA
1
наблюдая это с текущим выпуском Google Chrome Canary (v43), но не со стабильным выпуском Chrome (v40) с URL-адресами из облачного интерфейса
Simon_Weaver,

Ответы:

61

В моем случае я обнаружил (после долгого выдергивания волос), что статус «ожидание» был вызван расширением AdBlock. Изображение, которое мне не удалось загрузить, содержало слово «реклама» в URL-адресе, поэтому AdBlock не позволял ему загружаться.

Отключение AdBlock устраняет эту проблему.

Переименование файла таким образом, чтобы он не содержал "рекламу" в URL-адресе, также исправляет это и, очевидно, является лучшим решением. Если это не реклама, в таком случае оставьте это так. :)

Робин Догерти
источник
1
Я видел то же самое в Chrome с установленным расширением TamperMonkey.
sstn
1
@Robin Daugherty, расширение adblock находится на стороне сервера или на стороне клиента ?, на стороне клиента в моем случае нет ничего. И статус ожидания завершается через 1,8–2,2 минуты ... что может быть не так? плохая сеть ?.
Хуан Руис де Кастилья
1
Это может быть любое другое расширение, которое блокирует загрузку файла. Попробуйте использовать окно в режиме инкогнито, в котором все ваши расширения отключены. (Некоторые расширения могут быть включены в режиме инкогнито, поэтому вам следует проверить.)
Робин Догерти,
Я рвал на себе волосы, пытаясь понять, почему моя среда разработки (Angular и Visual Studio) была такой медленной. Отключение uBlock помогло. СПАСИБО!
XVargas
2
Моя возникает в IE, который не поддерживает AdBlocker ... :( Это периодически
возникающая
5

Я также получаю это при использовании плагина HTTPS везде. У этого плагина есть список сайтов, на которых также есть https вместо http. Итак, я предполагаю, что до того, как будет сделан фактический запрос, он уже каким-то образом отменяется.

Так, например, когда я перехожу на http://stackexchange.com , в Developer я сначала вижу запрос со статусом (завершен). Этот запрос имеет несколько заголовков, но только GET, User-Agent и Accept. Никакого ответа тоже.

Затем идет запрос на https://stackexchange.com с полными заголовками и т. Д.

Поэтому я предполагаю, что он используется для запросов, которые не отправляются.

никто
источник
5

У меня возникли проблемы с ожидающим запросом на файлы mp3. У меня был список mp3 файлов и один плеер для их воспроизведения. Если бы я выбрал файл, который уже был загружен, Chrome заблокировал бы запрос и отобразил «ожидающий запрос» на вкладке сети инструментов разработчика.

Похоже, затронуты все версии Chrome.

Вот решение, которое я нашел:

player[0].setAttribute('src','video.webm?dummy=' + Date.now());

Вы просто добавляете фиктивную строку запроса в конец каждого URL-адреса. Это заставляет Chrome снова загрузить файл.

Другой пример с проигрывателем попкорна (с использованием jquery):

url = $(this).find('.url_song').attr('url');
pop = Popcorn.smart( "#player_",  url + '?i=' + Date.now());

У меня это работает. Фактически, ресурс не хранится в системе кеширования. То же самое должно работать и с файлами .csv.

Нецко
источник
2

У меня была такая же проблема с OSX Mavericks, оказалось, что антивирус Sophos блокировал определенные запросы, после того как я удалил его, проблема исчезла.

Если вы думаете, что это может быть вызвано расширением, один из простых способов попробовать и проверить это - открыть Chrome с помощью '--disable-extensionsфлага, чтобы посмотреть, устраняет ли он проблему. Если это не поможет, подумайте о том, чтобы посмотреть за пределы браузера, чтобы узнать, может ли какое-либо другое приложение вызывать проблему, особенно приложения безопасности, которые могут влиять на запросы.

Сантьяго Анхель
источник
2

Состояние ожидания сети вовремя означает, что ваш запрос находится в состоянии обработки. Как только он ответит, время будет обновлено с указанием общего прошедшего времени.

На этом изображении показано, что сетевой вызов находится в состоянии обработки (Ожидание). На этом изображении показано, что сетевой вызов находится в состоянии обработки (Ожидание).

На этом рисунке показано время, затраченное на обработку сетевым вызовом. На этом рисунке показано время, затраченное на обработку сетевым вызовом.

Harendra Kr. Жадон
источник
1
В настоящее время я смотрю на ложно сообщенное истекшее время. На самом деле он будет оставаться в ожидании 4 с, но сообщит о 150 мс. И это относительно то, как долго сервер обрабатывает эти отчеты о запросах (то есть 150 мс). Это как будто что-то искусственно удерживает запрос от разрешения ...
Николай Ценков
1

У меня была аналогичная проблема с вызовами ajax application / json. В ff / IE все было нормально. В Chrome в окне Developer Network статус всегда был (ожидающим), потому что возвращался другой код статуса.

В моем случае я изменил свой ответ Json на отправку HttpStatusCode 200, тогда Chrome был в порядке, а текст состояния изменился на 200 OK.

Например, используя ASP.NET Web Api

 return new HttpResponseMessage(HttpStatusCode.OK ) {
            Content = request.Content
        };
Джафин
источник
можешь привести небольшой пример, как и где поменять HttpStatusCode?
Aras
1

Та же проблема с Chrome: у меня на моей html-странице был следующий код:

<body>
  ...
  <script src="http://myserver/lib/load.js"></script>
  ...
</body>

Но load.jsвсегда был в статусе pendingпри просмотре в панели «Сеть».

Я нашел обходной путь, используя асинхронную загрузку load.js:

<body>
  ...
  <script>
    setTimeout(function(){
      var head, script;
      head = document.getElementsByTagName("head")[0];
      script = document.createElement("script");
      script.src = "http://myserver/lib/load.js";
      head.appendChild(script);
    }, 1);
  </script>
  ...
</body>

Теперь все работает нормально.

СебастьянC
источник
0

Я столкнулся с этой проблемой, когда отлаживал локальное веб-приложение. Проблема оказалась в ограничениях антивируса AVG и брандмауэра. Мне пришлось разрешить исключение через брандмауэр, чтобы избавиться от статуса «Ожидание».

Санджит Сахай
источник
0

Для меня исправление заключалось в том, чтобы добавить следующее в начало запрошенного файла php.

header("Cache-Control: no-cache,no-store");
Анонимный
источник
0

В моем случае есть обновление для Chrome, из-за которого он не загружается до перезапуска браузера. Ура

Стефан Диптя
источник
-3

Я столкнулся с той же проблемой, когда запрашиваю определенные изображения со страницы. Я использую JavaScript для установки атрибута src объекта img, и если сеть плохая, ожидание будет отображаться на сетевой панели окна разработчика Chrome. Думаю это из-за плохой сети.

jz1108
источник
4
У меня такая же проблема, но изображения всегда появляются прямо в IE или FF, так что это не сеть. Кроме того, он прерывистый. Интересно, есть ли у вас какие-нибудь новые идеи?
Лиор
Здесь та же проблема. На FF эти изображения загружаются хорошо.
svassr 03