处理跨域的方式

Posted

tags:

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

  javascript出于安全方面的考虑,不予许跨域调用其他页面的对象,即JavaScript同源策略的限制

一、代理

  在同域名的web服务器端创建一个代理。

  什么是代理?举例:

    a服务器(域名:www.a.com)(非跨域)

    b服务器(域名:www.b.com)(跨域)

  调用跨域的服务 www.b.com/service.php 时,在a服务器上创建一个服务 www.a.com/proxy-bservice.php,由这个服务从后端去访问 www.b.com/service.php 服务,将响应值获取过来,返回给前端。

  在这里,www.a.com 做了一个代理,前端只需要访问 www.a.com/proxy-bservice.php 就相当于访问 www.b.com/service.php

  服务代理属于后端技术,具体实现就厚脸皮的交给后台的大大们了。

 

二、JSONP

  JSONP一般用于解决主流浏览器的跨域数据访问问题。原理:

  在 www.a.com 页面中:

  <code>

  <script>

    function jsonp (json) {

      console.log(json[‘name‘]);

    }

  </script>

  <script src="http://www.b.com/jsonp.js"></script>

  </code>

  在 www.b.com 页面中:

  <code>jsonp({‘name‘: ‘666‘, ‘age‘: ‘23‘});</code>

 

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

相对URL:协议名跨域的一种处理方式

Spring跨域的解决方式

相关前台跨域的解决方式

jquery中ajax处理跨域的三大方式

跨域以及解决跨域的几种方式

跨域常见问题