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

Solução rápida para o problema de falha na solicitação ajax com código de status 0

Hoje, ao usar o ajax para solicitar dados ao backend, ocorreu um erro, indicando o código de status 0, o backend utiliza a arquitetura spring mvc.

O código de status 0 significa o que? Pesquisei e descobri que ele significa (não inicializado) ou seja, não foi chamado o método send(), o meu código original era o seguinte :

$.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);
}
 });

Verifiquei cuidadosamente e não parece haver nada de errado, além disso, no backend, pude receber e enviar dados normalmente, o que significa que o AJAX ainda enviou dados, aqui estão as informações de parâmetros impressas no backend

Depois de outra reflexão, percebi que o problema estava no formulário:

<form onsubmit="addBlog();">
//O conteúdo entre eles foi omitido
<button type="submit">Publicar blog</button> 
</form>

Pode ver que eu adicionei o atributo type="submit" ao tag button, mas fazer isso criará uma nova submissão do formulário. O formulário já gera uma submissão quando clicar no button, e o button type="submit" novamente gerará uma nova submissão, resultando na alteração do evento do formulário antes de o AJAX ser executado.

Solução: Modifique o código acima para:

<form onsubmit="return false">
//O conteúdo entre eles foi omitido
<button type="addBlog()">Publicar blog</button> 

Aqui está o conteúdo que o editor compartilhou sobre como resolver rapidamente o problema de código de status de erro 0 na solicitação AJAX, isso é tudo o que o editor compartilhou com você, esperando que possa oferecer uma referência para você, e esperando que todos vocês possam apoiar e gritar tutorial.

Declaração: O conteúdo deste artigo é extraído da internet, pertence ao respectivo proprietário. O conteúdo é contribuído e carregado voluntariamente pelos usuários da internet. Este site não possui direitos de propriedade, não foi editado manualmente e não assume responsabilidade por eventuais responsabilidades legais. Se você encontrar conteúdo suspeito de violação de direitos autorais, por favor, envie um e-mail para: notice#w3Aviso: O conteúdo deste artigo é extraído da internet, pertence ao respectivo proprietário. O conteúdo é contribuído e carregado voluntariamente pelos usuários da internet. Este site não possui direitos de propriedade, não foi editado manualmente e não assume responsabilidade por eventuais responsabilidades legais. Se você encontrar conteúdo suspeito de violação de direitos autorais, por favor, envie um e-mail para: notice#w

Você também pode gostar