Abbiamo un'applicazione Web che funziona correttamente da più di un anno su gran parte dei browser. Recentemente abbiamo scoperto che non funziona così bene su Safari.Impossibile caricare la risorsa: richiesta scaduta su Safari
Un sacco di azioni si concludono con il seguente errore: Failed to load resource: Request timed out
. La cosa divertente è che l'azione viene effettivamente eseguita correttamente (per la maggior parte del tempo).
Quando si esamina l'errore, sembra che si verifichi quando è richiesta una richiesta ajax.
Per prima cosa ho cercato di cambiare l'impostazione del timeout ajax effettuando le seguenti operazioni:
$.ajax({
"type" : methode,
"dataType" : "json",
"url" : url,
"async" : async,
"data" : donneesEnvoyees,
"timeout" : 60000
})
che non cambia nulla, l'errore è in realtà mostrando dopo circa 10 secondi, che è inferiore al timeout definito .
Dopo aver letto un po 'su internet, ho visto alcune risposte sulla specifica no-cache in modo che Safari non mantenga i parametri del post nella cache. Non posso dire Capisco perfettamente che, ma ho ancora provato seguente modo:
$.ajax({
"type" : methode,
"headers" : { "cache-control": "no-cache" }, <-- added this line
"dataType" : "json",
"url" : url,
"async" : async,
"data" : donneesEnvoyees,
"timeout" : 60000
})
Come si può intuire, ho ancora lo stesso errore.
Avete qualche idea di cosa sta succedendo? Perché questo errore si verifica solo su Safari e non su altri browser? Come sistemarlo?
Qual è il valore delle variabili js 'methode', 'url', 'async', 'donneesEnvoyees'? dove stai chiamando ajax? Qualunque sia stata la regex? Il metodo –
è POST o GET. url è l'azione, async è per lo più "falso" in tutte le richieste e "donneesEnvoyees" sono i parametri del post. Sto chiamando Ajax a presentare, e nessuna regex ha coinvolto no. – realUser404
la tua ajax ha una funzione 'error()'? se è così puoi includerlo nella domanda? –