Co oznacza „ Oczekujący ” w kolumnie stanu na karcie „ Sieć ” w oknie programisty Google Chrome?
Dzieje się tak, gdy mój skrypt strony wysyła żądanie GET, którego odpowiedź zawiera nagłówki treści do pobrania pliku CSV:
Content-type: text/csv;
Content-Disposition: attachment; filename=myfile.csv
Działa to dobrze w FF i IE7, pobierając plik CSV zgodnie z oczekiwaniami i otwierając selektor plików, aby zapisać plik, ale Chrome nic nie robi. Potwierdziłem, że serwer odpowiada na żądanie, więc wygląda na to, że Chrome nie przetworzy odpowiedzi.
Co ciekawe, wszystko działa zgodnie z oczekiwaniami, jeśli wpiszę adres URL w pasku adresu Chromes i uderzę.
FYI: Chrome 10.0.648.204 na Win-XP
http
google-chrome
Lawrence I. Siden
źródło
źródło
Odpowiedzi:
W moim przypadku odkryłem (po wielu wyrywaniu włosów), że stan „oczekujący” był spowodowany rozszerzeniem AdBlock. Obraz, którego nie udało mi się załadować, miał w adresie URL słowo „reklama”, więc AdBlock uniemożliwił jego załadowanie.
Wyłączenie AdBlock rozwiązuje ten problem.
Zmiana nazwy pliku tak, aby nie zawierał słowa „reklama” w adresie URL również go naprawia i jest oczywiście lepszym rozwiązaniem. Chyba że jest to reklama, w takim przypadku powinieneś ją tak zostawić. :)
źródło
Dostaję to również podczas korzystania z wtyczki HTTPS wszędzie. Ta wtyczka zawiera listę witryn, które mają również https zamiast http. Zakładam więc, że zanim faktyczne żądanie zostanie wysłane, jest już w jakiś sposób anulowane.
Na przykład, kiedy wchodzę na http://stackexchange.com , w Developer najpierw widzę żądanie ze statusem (zakończone). To żądanie ma kilka nagłówków, ale tylko GET, User-Agent i Accept. Brak odpowiedzi.
Następnie pojawia się żądanie do https://stackexchange.com z pełnymi nagłówkami itp.
Zakładam więc, że jest używany do żądań, które nie są wysyłane.
źródło
Miałem problemy z oczekującą prośbą o pliki mp3. Miałem listę plików mp3 i jeden odtwarzacz do ich odtwarzania. Gdybym wybrał plik, który został już pobrany, Chrome zablokowałby żądanie i wyświetliłby „oczekujące żądanie” na karcie sieciowej narzędzi programistycznych.
Wydaje się, że problem dotyczy wszystkich wersji Chrome.
Oto rozwiązanie, które znalazłem:
Po prostu dodajesz fikcyjny ciąg zapytania na końcu każdego adresu URL. Zmusza to Chrome do ponownego pobrania pliku.
Inny przykład z odtwarzaczem popcornu (używając jQuery):
To działa dla mnie. W rzeczywistości zasób nie jest przechowywany w systemie pamięci podręcznej. Powinno to również działać w ten sam sposób w przypadku plików .csv.
źródło
Miałem ten sam problem na OSX Mavericks, okazało się, że antywirus Sophos blokował niektóre żądania, po odinstalowaniu problem zniknął.
Jeśli uważasz, że przyczyną może być rozszerzenie, jednym prostym sposobem na wypróbowanie tego jest otwarcie chrome z
'--disable-extensions
flagą, aby sprawdzić, czy to rozwiązuje problem. Jeśli to nie pomoże, rozważ wyjście poza przeglądarkę, aby sprawdzić, czy jakakolwiek inna aplikacja może powodować problem, w szczególności aplikacje zabezpieczające, które mogą wpływać na żądania.źródło
Stan sieci oczekujący na czas oznacza, że żądanie jest w trakcie realizacji. Jak tylko odpowie, czas zostanie zaktualizowany o całkowity czas, który upłynął.
To zdjęcie pokazuje, że połączenie sieciowe jest w stanie przetwarzania (w toku)
To zdjęcie przedstawia czas przetwarzania przez połączenie sieciowe.
źródło
Miałem podobny problem z wywołaniami application / json ajax. W ff / IE były w porządku. W chrome w oknie Developer Network Status był zawsze (w toku), ponieważ zwracany był inny kod stanu.
W moim przypadku zmieniłem odpowiedź Json, aby wysłać HttpStatusCode 200, a następnie Chrome był w porządku, a tekst stanu zmienił się na 200 OK.
Na przykład przy użyciu ASP.NET Web Api
źródło
HttpStatusCode
?Ten sam problem z Chrome: na mojej stronie html miałem następujący kod:
Ale podczas przeglądania panelu sieci
load.js
zawsze miał statuspending
.Znalazłem obejście przy użyciu asynchronicznego obciążenia
load.js
:Teraz działa dobrze.
źródło
Natknąłem się na ten problem, gdy debugowałem lokalną aplikację internetową. Problemem okazały się ograniczenia programu AVG Antivirus i zapory. Musiałem zezwolić na wyjątek przez zaporę sieciową, aby pozbyć się stanu „Oczekujący”.
źródło
Dla mnie rozwiązaniem było dodanie następujących elementów na początku żądanego pliku php.
źródło
W moim przypadku jest aktualizacja dla Chrome, która sprawia, że nie ładuje się przed ponownym uruchomieniem przeglądarki. Twoje zdrowie
źródło
Napotkałem ten sam problem, gdy zażądałem niektórych obrazów ze strony. Używam JavaScript do ustawienia atrybutu src obiektu img, a jeśli sieć jest słaba, oczekujące zostanie wyświetlone w panelu sieci okna programisty chrome. Myślę, że to z powodu słabej sieci.
źródło