当前位置 博文首页 > 快速解决ajax请求出错状态码为0的问题

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

    作者:Yekongle 时间:2021-09-21 19:13

    今天在使用 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 还是发送了数据的,这是后台打印的相关参数信息

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

    <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的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持站长博客。

    jsjbwy
    下一篇:没有了