Что означает «ожидающий» для запроса в окне разработчика 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

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

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

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


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>

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


0

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


0

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

header("Cache-Control: no-cache,no-store");

0

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


-3

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


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

Здесь та же проблема. На FF эти изображения загружаются хорошо.
— svassr 03
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.