English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

快速解决ajax请求出错状态码为0的问题

Oggi, durante l'uso di ajax per richiedere dati al backend, è stato rilevato un errore, con un codice di stato 0, il backend utilizza l'architettura spring mvc.

Cos'è il codice di stato 0? Ho cercato e ho scoperto che significa (non inizializzato) ovvero non è stato chiamato il metodo send(), il mio codice originale era il seguente:

$.ajax({
url:"test",
type:"post",
data:{
  blogTitle : $("#form1 input").val(),
  blogType : $("#form1 option:selected").val(),
  article : htmlcontent

dataType: "json",
success: function(data,textStatus){
  if(data.flag == "success"){
    alert("Pubblicazione riuscita!");
    window.location.href = 'http://www.baidu.com';
  }    

error: function(XMLHttpRequest, textStatus, errorThrown) {
  alert(XMLHttpRequest.status);
  alert(XMLHttpRequest.readyState);
  alert(textStatus);
}
 });

Ho controllato attentamente e non sembra ci sia nulla di strano, soprattutto perché sono in grado di ricevere i dati inviati in backend, il che significa che l'ajax ha effettivamente inviato i dati. Ecco le informazioni di parametri relative stampate nel backend

Dopo un pensiero, ho capito che il problema era nel form:

<form onsubmit="addBlog();">
//Testo omesso
<button type="submit">Pubblica Blog</button> 
</form>

Come si può vedere, ho aggiunto l'attributo type="submit" al tag button, ma fare così produrrà una nuova submit del form. Di fatto, il form produce una submit quando si clicca su un button, e quando si imposta button type="submit", si produce una nuova submit. Questo porta a una modifica dell'evento del form prima che l'ajax sia completato.

Soluzione: Modifica il codice seguente:

<form onsubmit="return false">
//Testo omesso
<button type="addBlog()">Pubblica Blog</button> 

La soluzione rapida al problema di stato di errore 0 delle richieste AJAX che ho condiviso con voi è tutto ciò che c'è da sapere. Spero che questo possa fornirvi una riferimento e vi auguro di sostenere e applaudire Tutorial.

Dichiarazione: il contenuto di questo articolo è stato raccolto da Internet, di proprietà del rispettivo autore. Il contenuto è stato contribuito e caricato autonomamente dagli utenti di Internet, il sito web non detiene il diritto di proprietà, non ha effettuato la modifica editoriale umana e non assume responsabilità legali correlate. Se trovi contenuti sospetti di violazione del copyright, sei invitato a inviare una email a: notice#oldtoolbag.com (al momento dell'invio dell'email, sostituisci # con @) per segnalare il problema e fornire prove pertinenti. Una volta verificata, il sito web eliminerà immediatamente i contenuti sospetti di violazione del copyright.