{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请求将整个浏览器锁死,直到请求结束


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值