今天在使用 ajax 向后台请求数据时出现错误,提示状态码为 0 ,后台采用的是 spring mvc 架构。

状态码为0是什么意思呢?查找了下,原来它意味着 (未初始化)即没有调用到send()方法,我原来代码如下 :

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

仔细检查,好像没什么不对劲的啊,况且在后台都能正常接收发送的数据了,说明 ajax 还是发送了数据的,这是后台打印的相关参数信息

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

又一番思索,原来是表单出现了问题:

<form onsubmit="addBlog();">
//中间省略
<button type="submit">发表博客</button> 
</form>

可以看到,我在 button 标签添加了 type=”submit”属性,但这样做会产生新的一次表单点击提交,本来form 默认点击 button 时会产生一次提交 , button type=”submit” 时又会产生新第一次提交,导致 ajax 未执行完毕表单事件发生了改变。

解决方法: 将上面代码改为:

<form onsubmit="return false">
//中间省略
<button type="addBlog()">发表博客</button> 

以上这篇快速解决ajax请求出错状态码为0的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

标签:
ajax,请求,出错,状态码,0

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
桃源资源网 Design By www.nqtax.com

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

暂无“快速解决ajax请求出错状态码为0的问题”评论...

RTX 5090要首发 性能要翻倍!三星展示GDDR7显存

三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。

首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。

据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。