Io uso jquery per postare un'azione di controller MVC che restituisce una tabella di informazioni. L'utente della pagina attiva questo facendo clic su vari collegamenti.Perché la chiamata abort() su una richiesta jax causa un errore in ASP.Net MVC (IE8)
Nel caso in cui l'utente decida di fare clic su un gruppo di questi collegamenti in rapida successione, ho voluto annullare qualsiasi richiesta di ajax precedente che potrebbe non essere stata completata.
Ho scoperto che quando faccio questo (anche se la sua multa da POV del cliente) mi metterò errori sulla applicazione web dicendo che
"The parameters dictionary contains a null entry for parameter srtCol of non-nullable type 'System.Int32'"
Ora il palo ajax passa attimo in tutta la parametri, e se non provo a cancellare la richiesta di ajax funziona bene.
Ma se annullo la richiesta chiamando abort() sull'oggetto XMLHttpRequest che ajax() restituisce prima che finisca, ottengo l'errore da ASP.Net MVC.
Esempio:
//Cancel any pevious request
if (req)
{
req.abort();
req = null;
}
//Make new request
req = $.ajax({
type: 'POST',
url: "/Myapp/GetTbl",
data: {srtCol: srt, view: viewID},
success: OnSuccess,
error: OnError,
dataType: "html"
});
ho notato questo accada solo è IE8. In FF non sembra un problema.
Qualcuno sa come annullare una richiesta Ajax in IE8 senza causare errori per MVC?
Grazie per qualsiasi aiuto.
Ho il sospetto che tu abbia ragione. Ma non sono sicuro di come riscrivere il mio codice JS in modo che OnSuccess venga ignorato per la richiesta interrotta, ma viene eseguito per richieste non interrotte. Puoi farmi un esempio? – user169867
Mi piace. Penso che funzionerà. Grazie mille! – user169867
Nessun problema! Spero che funzioni. – kevingessner