
注:以下状态码大部分都是自己项目中遇到的,现记录方便日后查看。
通常前后端使用ajax交互时,客户端向服务器发送请求时,然后服务器向我们返回状态码。 状态码就是告诉我们服务器响应的状态 ,由3位数字组成,其中第一位数字表示响应类别,响应类别从1到5分为五种 。
表示请求被服务器正常处理 ,最常见的就是这个
表示请求已成功处理,但是没有内容返回
也就是返回的响应报文中没有报文实体
一般用在只是客户端向服务器发送信息,而服务器不用向客户端返回什么信息的情况
永久重定向,表示请求的资源已经永久的搬到了其他位置 ,资源已经被分配了新的URI
临时重定向,表示请求的资源临时搬到了其他位置 ,请求的资源暂时被配到到了新的URI,和301很像,只不过资源是临时移动
表示请求资源存在另一个URI,应使用GET定向获取请求资源
303功能与302一样,区别只是303明确客户端应该使用GET访问
表示客户端自从上次请求后,请求的网页未修改过。服务器返回此响应时,不会返回网页内容。
304通常在IE浏览器下多次请求同一个地址出现的。
场景:删除表格其中一条数据后重新请求列表数据渲染表格,第二次请求时状态码是304导致被删除的数据还是出现在前端。
原因:IE浏览器下同一地址的ajax请求优先读取本地缓存数据
解决方法:在请求地址后面加上时间戳,保证每次请求的地址都不一样,这样浏览器就无法读取缓存。
表示请求报文存在语法错误或参数错误,服务器不理解 ,需要修改请求内容后再次发送
表示发送的请求需要有>
同志,既然有jquery为什么还要用原生的JS写这么多的代码呢?使用jqueryajax,如下,
先引入jquery文件后,
$ajax({
url: "ajaxashx",
type: "POST", //POST提交
contentType:"application/x->
这类问题一般是在外面声明个变量,然后ajax返回数据时改变这个变量值,再然后再在执行ajax请求的下面一个块{}根据这个变量值进行 *** 作。否则,ajax请求还来不及改变那个变量值,你的程序就执行到下面去了,所以你第一次执行后虽然你的值改变了,但是你的那个方法领先一步已经执行完毕,就会出现第一次不起作用,第二次之后才起作用的奇怪问题。
用alert就能执行就是因为alert延迟了执行时间,ajax请求来得及返回,你的变量也来得及赋新值。
$ajax({
type: "GET",
url: "> }); public void ProcessRequest(> }
以上是aspnet 前后台的Ajax 跨域请求,如果你能看懂,你就可以解决你提出的问题了。
其他参考:>
这种情况有可能是数据类型不对。
一般情况下,前端ajax请求最好指定datatype,后端也需要约定某种格式,这样传输过程比较明确。
可以在控制台中检查数据是否正常返回,是否是直接返回网页。前端也可以对ajax内部进行调试看看是哪里的问题。
var jsonObject = eval("(" + jsonFormat + ")");//需要将JSON字符串的外面包装一层圆括号
alert(eval("{}"); // return undefined
alert(eval("({})");// return object[Object]
以上就是关于前端ajax请求常见的状态码以及产生的原因全部的内容,包括:前端ajax请求常见的状态码以及产生的原因、Ajax向服务器发送请求和接收返回的信息、ajax发送不出去请求信息,求解决!!!!!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)