文章目录

使用jquery的ajax请求时,发现每次都是走error的回调函数,错误提示的日志为{"readyState":0, status: 0, status:"error"}。抓包请求发现请求正常返回数据,但是js代码却执行error的回调。其他组开发人员反馈的问题描述是在App中使用离线代码没有问题,使用地址访问就有问题。自然而然就想到了跨域问题,一看请求地址,果然。

服务器端接口响应的头增加以下内容就可以解决:

1
2
3
4
5

Access-Control-Allow-Origin: http://foo.example
Access-Control-Allow-Methods: POST, GET, OPTIONS
Access-Control-Allow-Headers: X-PINGOTHER, Content-Type
Access-Control-Max-Age: 86400

注意:相应的域名要替换一下,替换成请求页面的地址,包括端口号。

响应头中返回以上内容就相当于告诉浏览器,这个数据来源可靠,把数据返回到JS中。否则浏览器认为响应数据不安全,直接拦截,不返回正确的数据,而返回错误。

文章目录