Apa artinya "menunggu keputusan" untuk permintaan di Jendela Pengembang Chrome?

104

Apa yang dimaksud dengan " Tertunda " di bawah kolom status di tab " Jaringan " pada jendela Pengembang Google Chrome?

Ini terjadi saat skrip halaman saya mengeluarkan permintaan GET yang tanggapannya berisi header konten untuk mendownload file CSV:

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

Ini berfungsi dengan baik di FF dan IE7, mengunduh file CSV seperti yang diharapkan dan membuka pemilih file untuk menyimpan file, tetapi Chrome tidak melakukan apa pun. Saya mengonfirmasi bahwa server menanggapi permintaan tersebut, jadi tampaknya Chrome tidak akan memproses tanggapan tersebut.

Anehnya, semua berfungsi seperti yang diharapkan jika saya mengetik URL ke bilah alamat Chromes dan menekan.

FYI: Chrome 10.0.648.204 pada Win-XP

Lawrence I. Siden
sumber
Saya memiliki masalah serupa dengan file javascript. Perpustakaan jQuery tidak memuat dengan benar dan menyebabkan masalah.
Jack M.
Jangan lupa bahwa ekstensi dapat menyebabkan masalah ini - Saya mengalami masalah besar dengan menyertakan beberapa piksel pelacakan afiliasi pihak ketiga, permintaan itu selamanya macet karena 'menunggu keputusan. Ternyata saya lupa mematikan blokir iklan!
Andy Smith
13
Perhatikan bahwa pertanyaan ini (kalimat pertama) masih belum terjawab. Semua jawaban di bawah ini (sampai hari ini) hanyalah "inilah yang menyebabkannya bagi saya". Pesan ini sangat umum dan dapat disebabkan oleh banyak masalah. Jika saya tahu persis apa mereka, saya akan menjawab, tetapi secara umum tampaknya berarti bahwa untuk beberapa alasan komunikasi dicegah di suatu tempat antara halaman dan server. Yang saya maksud dengan "halaman" bukan browser, ekstensi browser dapat menyebabkan ini seperti yang disebutkan di tempat lain.
AlexMA
1
melihat ini dengan rilis Google Chrome Canary saat ini (v43) tetapi bukan rilis Chrome stabil (v40) dengan URL dari cloudfront
Simon_Weaver

Jawaban:

61

Dalam kasus saya, saya menemukan (setelah banyak menjambak rambut) bahwa status "menunggu keputusan" disebabkan oleh ekstensi AdBlock. Gambar yang tidak bisa saya muat memiliki kata "iklan" di URL, jadi AdBlock mencegahnya memuat.

Menonaktifkan AdBlock memperbaiki masalah ini.

Mengganti nama file sehingga tidak berisi "iklan" di URL juga memperbaikinya, dan jelas merupakan solusi yang lebih baik. Kecuali itu iklan, dalam hal ini Anda harus membiarkannya seperti itu. :)

Robin Daugherty
sumber
1
Saya telah melihat hal yang sama di Chrome dengan ekstensi TamperMonkey terpasang.
sstn
1
@Robin Daugherty, ekstensi adblock ada di sisi server atau sisi klien ?, di sisi klien dalam kasus saya tidak ada. Dan status tertunda selesai antara 1,8 menit dan 2,2 menit ... apa yang mungkin salah? jaringan yang buruk ?.
Juan Ruiz de Castilla
1
Bisa jadi ekstensi lain yang memblokir file agar tidak dimuat. Coba gunakan jendela Penyamaran, di mana semua ekstensi Anda dinonaktifkan. (Beberapa ekstensi mungkin diaktifkan dalam mode Penyamaran, jadi Anda harus memeriksanya.)
Robin Daugherty
Saya menarik rambut saya mencoba mencari tahu mengapa lingkungan pengembangan saya (Angular & Visual Studio) sangat lambat. Menonaktifkan uBlock berhasil. TERIMA KASIH!
XVargas
2
Milik saya terjadi di IE yang tidak mendukung AdBlocker ... :( Ini adalah masalah terputus-putus bagi saya.
Json
5

Saya juga mendapatkan ini saat menggunakan plugin HTTPS everywhere. Plugin ini memiliki daftar situs yang juga memiliki https, bukan http. Jadi saya berasumsi sebelum permintaan sebenarnya dibuat, entah bagaimana itu sudah dibatalkan.

Jadi misalnya ketika saya pergi ke http://stackexchange.com , di Pengembang saya pertama kali melihat permintaan dengan status (dihentikan). Permintaan ini memiliki beberapa header, tetapi hanya GET, User-Agent, dan Accept. Tidak ada respon juga.

Lalu ada permintaan ke https://stackexchange.com dengan header lengkap dll.

Jadi saya berasumsi ini digunakan untuk permintaan yang tidak terkirim.

tak seorangpun
sumber
5

Saya mengalami masalah dengan permintaan file mp3 yang tertunda. Saya memiliki daftar file mp3 dan satu pemain untuk memutarnya. Jika saya memilih file yang telah diunduh, Chrome akan memblokir permintaan tersebut dan menampilkan "permintaan tertunda" di tab jaringan alat pengembang.

Semua versi Chrome tampaknya terpengaruh.

Ini solusi yang saya temukan:

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

Anda cukup menambahkan string kueri dummy di akhir setiap url. Ini memaksa Chrome untuk mengunduh file lagi.

Contoh lain dengan pemutar popcorn (menggunakan jquery):

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

Ini berhasil untuk saya. Faktanya, sumber daya tidak disimpan di sistem cache. Ini juga harus bekerja dengan cara yang sama untuk file .csv.

Necko
sumber
2

Saya memiliki masalah yang sama pada OSX Mavericks, ternyata anti-virus Sophos memblokir permintaan tertentu, setelah saya mencopotnya, masalahnya hilang.

Jika Anda berpikir bahwa itu mungkin disebabkan oleh ekstensi, satu cara mudah untuk mencoba dan mengujinya adalah dengan membuka chrome dengan '--disable-extensionsbendera untuk melihat apakah itu memperbaiki masalah. Jika itu tidak memperbaikinya, pertimbangkan untuk melihat ke luar browser untuk melihat apakah ada aplikasi lain yang mungkin menyebabkan masalah, khususnya aplikasi keamanan yang dapat memengaruhi permintaan.

Santiago Angel
sumber
2

Jaringan menunggu status tepat waktu, berarti permintaan Anda sedang dalam proses. Segera setelah merespons, waktu akan diperbarui dengan total waktu yang telah berlalu.

Gambar ini menunjukkan panggilan jaringan dalam status pemrosesan (Tertunda) Gambar ini menunjukkan panggilan jaringan dalam status pemrosesan (Tertunda)

Gambar ini menunjukkan waktu yang dibutuhkan dalam pemrosesan dengan panggilan jaringan. Gambar ini menunjukkan waktu yang dibutuhkan dalam pemrosesan dengan panggilan jaringan

Harendra Kr. Jadon
sumber
1
Saat ini saya melihat waktu berlalu yang dilaporkan secara salah. Ini sebenarnya akan tetap menunggu selama 4 d, tetapi akan melaporkan 150 md. Dan itu relatif berapa lama server menangani laporan permintaan tersebut (150 md). Sepertinya ada sesuatu yang artifisial menahan permintaan dari penyelesaian ...
Nikolay Tsenkov
1

Saya memiliki masalah serupa dengan panggilan application / json ajax. Di ff / IE mereka baik-baik saja. Di chrome di jendela Jaringan Pengembang, Status selalu (menunggu keputusan) karena kode status yang berbeda dikembalikan.

Dalam kasus saya, saya mengubah respons Json saya untuk mengirim HttpStatusCode 200 lalu Chrome baik-baik saja dan Teks Status berubah menjadi 200 OK.

Misalnya menggunakan ASP.NET Web Api

 return new HttpResponseMessage(HttpStatusCode.OK ) {
            Content = request.Content
        };
Jafin
sumber
dapatkah Anda memberikan contoh kecil tentang bagaimana dan di mana Anda mengubah HttpStatusCode?
Aras
1

Masalah yang sama dengan Chrome: Saya memiliki kode berikut di halaman html saya:

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

Tapi load.jsitu selalu dalam status pendingsaat mencari di panel Jaringan.

Saya menemukan solusi menggunakan beban asinkron 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>

Sekarang bekerja dengan baik.

SebastienC
sumber
0

Saya menemukan masalah ini ketika saya men-debug aplikasi web lokal. Masalahnya ternyata pembatasan AVG Antivirus dan Firewall. Saya harus mengizinkan pengecualian melalui firewall untuk menghilangkan status "Tertunda".

Sanjeet Sahay
sumber
0

Perbaikannya, bagi saya, adalah menambahkan yang berikut ini ke bagian atas file php yang diminta.

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

Dalam kasus saya, ada pembaruan untuk Chrome yang membuatnya tidak dapat dimuat sebelum Anda memulai ulang browser. Bersulang

Stefanus Diptya
sumber
-3

Saya mengalami masalah yang sama ketika saya meminta gambar tertentu dari halaman. Saya menggunakan JavaScript untuk menyetel atribut src dari objek img dan jika jaringan buruk menunggu akan ditampilkan di panel jaringan jendela pengembang chrome. Saya pikir itu karena jaringan yang buruk.

jz1108.dll
sumber
4
saya memiliki masalah yang sama, tetapi gambar selalu muncul tepat di IE atau FF, jadi bukan jaringannya. Juga, itu terputus-putus. Ingin tahu apakah Anda memiliki wawasan baru
Lior
Masalah yang sama di sini. Di FF gambar-gambar itu dimuat dengan baik.
svassr