Una volta ogni tanto, le mie chiamate Ajax (tramite JQuery 1.8) nella mia applicazione sono bloccate con lo stato "in attesa" per un lungo periodo (a volte fino a 17 minuti). L'ho cercato su google e tutte le possibili soluzioni non hanno funzionato:Richieste Ajax bloccate e in sospeso da JQuery in Chrome
- Non ho installato nessun blocco annunci.
- Ho disattivato il flag "Prevedi azioni di rete per migliorare le prestazioni di caricamento della pagina" in Chrome.
- Ho anche aggiunto una stringa di query alla chiamata Ajax per renderla univoca (per disabilitare qualsiasi blocco della cache di Chrome).
Avete qualche idea su come risolvere questo? Grazie.
Nell'esempio seguente, la richiesta era in sospeso per 17 minuti (verificato con Fiddler che è stato inviato solo dopo 17 minuti).
GET http://www.mywebsite.com/foo/rest/publishers/1/packages?_=1421584749323 HTTP/1.1
Host: www.mywebsite.com
Connection: keep-alive
Accept: application/json, text/javascript, */*; q=0.01
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36
Content-Type: application/json
Referer: http://www.mywebsite.com/foo/client/home
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8,he;q=0.6,ru;q=0.4
Cookie: JSESSIONID=C668509B5AFCDEBE9C9774C4721AFB9D;
aaassz="ddss"
Vedi Immagine:
Avete un ciclo di polling? Ho avuto anche questo problema, perché c'erano molte richieste (50 per 1,5 secondi). Quindi, Chrome stava aspettando fino a quando non l'hanno fatto, e solo dopo (26 secondi dopo) ha trattato l'ultima richiesta, anche se ci vuole solo 0,1 secondi. –
Ho un ciclo di polling ogni 5 minuti. Tuttavia, non vediamo come giustifichi lo stallo di Chrome di 17 minuti. la riduzione dell'intervallo di polling ha risolto il tuo problema? – Wasafa1
Per chrome's explaination, Il tempo di stallo è il tempo in cui la richiesta è stata spesa in attesa prima che potesse essere inviata. Questo tempo è comprensivo di qualsiasi tempo trascorso nella negoziazione del proxy. Inoltre, questa volta includerà quando il browser è in attesa che una connessione già stabilita diventi disponibile per il riutilizzo, rispettando la massima sei connessioni TCP di Chrome * per regola di origine *. – Sablefoste