English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Hoy, al usar ajax para solicitar datos al backend, se produjo un error, indicando el código de estado 0, el backend utiliza la arquitectura de spring mvc.
El código de estado 0 ¿qué significa? Busqué y descubrí que significa (no inicializado) es decir, no se ha llamado al método send(), mi código original era el siguiente :
$.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("发表成功!"); window.location.href = 'http://www.baidu.com'; } }, error: function(XMLHttpRequest, textStatus, errorThrown){ alert(XMLHttpRequest.status); alert(XMLHttpRequest.readyState); alert(textStatus); } });
Revisé cuidadosamente y no parece haber nada malo, y puedo recibir y enviar datos en el backend, lo que significa que AJAX ha enviado datos, aquí hay la información de parámetros relacionados impresos en el backend
Después de un nuevo pensamiento, resulta que el problema estaba en el formulario:
<form onsubmit="addBlog();"> //Se omiten detalles <button type="submit">Publicar blog</button> </form>
Se puede ver que he agregado el atributo type = "submit" al etiqueta button, pero hacer esto causará una nueva vez de envío de formulario al hacer clic en el button. Por defecto, el formulario genera un envío cuando se hace clic en el button, y al usar button type = "submit", se genera una nueva vez de envío, lo que hace que el evento del formulario AJAX se cambie antes de que se complete.
Solución: Cambie el código anterior a:
<form onsubmit="return false"> //Se omiten detalles <button type="addBlog()">Publicar blog</button>
Este artículo sobre cómo resolver rápidamente el problema del estado de código 0 de la solicitud AJAX que compartí con todos es todo lo que tengo que compartir, espero que les sirva de referencia y que apoyen activamente el tutorial de alarido.
Aclaración: Este contenido se ha obtenido de la red, pertenece a los propietarios originales, ha sido contribuido y subido por los usuarios de Internet, este sitio web no posee derechos de propiedad, no ha sido editado por humanos y no asume responsabilidades legales relacionadas. Si encuentra contenido sospechoso de copyright, le invitamos a enviar un correo electrónico a: notice#w3Declaración: El contenido de este artículo se ha obtenido de la red, pertenece a los autores originales, el contenido se ha contribuido y subido por los usuarios de Internet, este sitio web no posee derechos de propiedad, no ha sido editado por humanos y no asume responsabilidades legales relacionadas. Si encuentra contenido sospechoso de copyright, le invitamos a enviar un correo electrónico a: notice#w