{readyState: 0, getResponseHeader: ƒ, getAllResponseHeaders: ƒ, setRequestHeader: ƒ, overrideMimeTyp

本文主要是介绍{readyState: 0, getResponseHeader: ƒ, getAllResponseHeaders: ƒ, setRequestHeader: ƒ, overrideMimeTyp,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在进行ajax请求的时候报错如下:

{readyState: 0, getResponseHeader: ƒ, getAllResponseHeaders: ƒ, setRequestHeader: ƒ, overrideMimeType: ƒ, …}

在ajax的返回结果中,自己任何数据都没有获得,所以上网百度,仍然没有结果,对于这个错误,每个人的情况也不一样,所以我就开始仔细的分析自己的程序,同样的服务接口在别的ajax中,可以正常返回数据,而且自己本次的ajax请求,在服务器端,能正常的显示响应数据和状态。所以这个问题肯定是出在客户端,在客户端,自己的ajax唯一的不同就是,自己内嵌了一个ajax和服务器通信,所以我觉得问题肯定出在这里。

      然后百度ajax嵌套的问题,果不然,在ajax进行嵌套的时候,由于异步的原因,里面的ajax将获取不到服务器的返回信息。现在知道自己的问题所在了就说说,解决问题的几种办法:

第一种

描述:如果条件许可,把两次请求都放在服务端处理掉一起发回来,这些就在客户端只有一次ajax

优点:代码放在服务端,安全性比较,且服务端处理速度较快

缺点:可能请求的数据格式是json,这样在服务端处理JSON数据还需要对JSON进行反序列化,这样就比较麻烦

第二种

描述:是我第一次解决这个问题的时候用的比较蠢的办法,第一次请求的ajax,循环值PUSH到公共变量中去,然后用这个公共变量作为参数去请求第二个ajax

优点:节省开销

缺点:这样写的确有点蠢...除了蠢之外我再补充一点这样做第二次ajax只能是自己去请求自己服务器,如果是别人的服务不可能给你拆分参数

第三种

描述:使用async falseajax默认async是为ture的,当async: true 时,ajax请求是异步的。但是其中有个问题:ajax请求和其后面的操作是异步执行的,那么当页面还未执行完,就可能已经执行了 ajax请求后面的操作。当async:false时,ajax请求为同步,这时Ajax请求将整个浏览器锁死,直到请求结束


这篇关于{readyState: 0, getResponseHeader: ƒ, getAllResponseHeaders: ƒ, setRequestHeader: ƒ, overrideMimeTyp的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/762550

相关文章

xmlhttp中readyState和status的介绍

xmlhttp.readyState的值及解释: 0:请求未初始化(还没有调用 open())。 1:请求已经建立,但是还没有发送(还没有调用 send())。 2:请求已发送,正在处理中(通常现在可以从响应中获取内容头)。 3:请求在处理中;通常响应中已有部分数据可用了,但是服务器还没有完成响应的生成。 4:响应已完成;您可以获取并使用服务器的响应了。 xmlhttp.status的

XMLHTTP中setRequestHeader参数问题

setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=gb2312")   语法 oXMLHttpRequest.setRequestHeader(bstrHeader, bstrValue); 参数 bstrHeader 字符串,头名称。 bstrValue 字符串,值。

XMLHttpRequest.readyState和HTTP状态response的状态Response.Status

一、XMLHttpRequest.readyState: 状态名称描述0Uninitialized初始化状态。XMLHttpRequest 对象已创建或已被 abort() 方法重置。1Openopen() 方法已调用,但是 send() 方法未调用。请求还没有被发送。2SentSend() 方法已调用,HTTP 请求已发送到 Web 服务器。未接收到响应。3Receivin

Firefox AJAX请求readyState = 0,status = 0问题

今天在测试的时候,狂刷页面AJAX请求就会出错,Chrome浏览器没问题,Firefox就报错! 跟踪了一下,发现readyState = 0,status = 0,网上查资料发现原来产生这个错误 的原因是“XmlHttpRequest对象尚未初始化”! 解决方法: 对readyState = 0,status 进行判断,做对应的处理。

php设置ajax头部,ajax中的setRequestHeader设置请求头

1、问题引发点: 前不久发现一个问题: 前端并没有设置请求头信息里面的Accept-Encoding:gzip...但是在请求头中可以明显的看到Accept-Encoding:gzip, deflate, sdch,并且我尝试修改这个请求头,发现 不 生 效; 2、XMLHttpRequest对象提供了一个设置请求头的方法:setRequestHeader,对应的jQuery可以再beforeS

readyState的五种状态详解

readyState的五种状态详解 在《Pragmatic Ajax A Web 2.0 Primer 》中偶然看到对readyStae状态的介绍,感觉这个介绍很实在,摘译如下:  0: (Uninitialized) the send( ) method has not yet been invoked.  1: (Loading) the send( ) method has been i

XMLHttpRequest().readyState的五种状态详解 .

http://blog.csdn.net/fanyuna/article/details/6762849