ajax 跨域请求解决方法

出于安全考虑,js不可能跨域访问。一个请求是否跨域,看它发送请求的协议、域名、端口是否和页面的协议、域名、端口是否一致。
解决跨域问题可以从三个方面解决:

  1. 浏览器。
  2. 跨域。
  3. xhr请求。

解决方法

  • 关闭浏览器的安全设置。对网站访问的所有浏览器都需要设置,不太现实,一般不采用这种策略。
  • 使用jsonp。原理:把数据封装成一个js代码,返回给浏览器。因为返回的是一个段js代码,所以返回的数据类型就不是xhr。所以能解决跨域的问题。缺点是需要后端代码进行配合。
  • 添加响应的头部信息,Access-Control-Allow-Origin : *Access-Control-Allow-Methods : *。如果请求需要发送json格式的数据需要在响应的头部信息添加Access-Control-Allow-Headers : Content-Type
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容