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

2017-12-17 21:40:51来源:CSDN作者:qq_23483671人点击

分享

今天在使用 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> 

最新文章

123

最新摄影

闪念基因

微信扫一扫

第七城市微信公众平台