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