JavaScript解决跨域问题的方式

Posted 过往将来

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript解决跨域问题的方式相关的知识,希望对你有一定的参考价值。

跨域简介

  1. 跨域是由浏览器的同源策略引起的,即不同源(协议,域名,端口中其中有一个不同)的js是不能读取对方的资源的
  2. 当要网站中的js要请求其他网站的数据时就会产生跨域问题

跨域问题解决办法

  1. jsonp 解决跨域问题
  2. jsonp是依靠开发人员的聪明才智创造出的一种非官方的跨域数据交换协议。它允许在服务器端集成Script tags返回至客户端。
  3. script 标签解决跨域问题
  4. 所有具有src属性的html标签都是可以跨域的,包括

JSONP的缺点

  1. 没有关于 JSONP 调用的错误处理。如果动态脚本插入有效,就执行调用;如果无效,就静默失败。失败是没有任何提示的。例如,不能从服务器捕捉到 404 错误,也不能取消或重新开始请求
  2. JSONP 的另一个主要缺陷是被不信任的服务使用时会很危险。因为 JSONP 服务返回打包在函数调用中的 JSON 响应,而函数调用是由浏览器执行的,这使宿主 Web 应用程序更容易受到各类攻击。

以上是关于JavaScript解决跨域问题的方式的主要内容,如果未能解决你的问题,请参考以下文章

解决ajax跨域问题

如何解决跨域问题

如何解决跨域问题

postMessage处理iframe 跨域问题

postMessage处理iframe 跨域问题

利用 iframe解决ajax的跨域问题