ajax 跨域访问数据,ie9和ie8接收不到数据
用angular的http也是一样 是不是都是因为跨域所以才这样
有啥解决办法吗
接受不到数据的化你看一下后台报错和返回的状态码 是404还是200还是其他状态码
如果你收到了状态码200且无法接收到数据很可能是你跨域写的有问题
如果404可能你请求路径有问题
5开头是你服务器写的有问题
如果是跨域问题的话 你就解决跨域问题
比如jsonp CROS等
AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术 本身是不解决跨域的
如果你没遵守同源策略肯定会出现跨域问题
推荐你一下文章:http://www.ruanyifeng.com/blo...
在IE9及以下,ajax的跨域是有兼容性的,应该是只有post才有的,get应该是没有问题的,在post中请求头部加上:crossDomain: true == !(document.all)在$.ajax({})
8 回答4.8k 阅读✓ 已解决
6 回答3.5k 阅读✓ 已解决
5 回答2.9k 阅读✓ 已解决
5 回答6.4k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
第一选择JSONP,如果不能使用需要检查是否是http/https的原因,需要注入网站和jsonp地址都是http或者https.
更复杂的逻辑可以选择下面的:
需要前后台都加以配合,并且https|http保持一致:
前端:
后端,PHP为例:
如果你当前的网页是http的,那么被请求的http也应该是http,反之https也是一样的