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>
时间: 2024-10-09 23:29:41