时间:2021-05-18
今天在使用 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://'; } },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的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
在用PHP记录日志,或者是Ajax请求出错想要debug的时候。我们一般都会将信息写入到一个指定的文件当中。然后根据相应的信息来处理问题。比如笔者最喜欢在用Aj
在后端发生异常或者是请求出错时,前端通常显示如下WhitelabelErrorPageThisapplicationhasnoexplicitmappingfo
问题描述下面的例子是一个Ajax的post请求的代码,这段代码在测试运行的时候,发现返回的状态码为400,服务器不能理解的请求,后来经过查看和修改,发现只需要将
前言在后端发生异常或者是请求出错时,前端通常显示如下WhitelabelErrorPageThisapplicationhasnoexplicitmapping
什么是AJAX的跨域请求出于安全的考虑,如果你要从。整个解决方案大概如下图所示:第二个解决方案就是在服务器端通过WebClient(或者其他)的类来请求跨域的内