首页 > web前端 > js教程 > 正文

如何理解Js跨域

一个新手
发布: 2017-10-17 09:38:00
原创
1398 人浏览过

什么是跨域

浏览器有同源策略,不允许 ajax 访问其他域的接口

跨域条件:协议、域名、端口,有一个不同就算跨域

http 默认端口是 80

https 默认端口是 443

有三个标签允许跨域加载资源

  // 可用于打点统计,统计网站可能是其他域

  // 可以用于 JSONP,也能使用 CDN

  // 可以使用CDN,CDN的也是其他域

跨域的几种方式

1、JSONP 跨域的数据请求

  JSONP 实现原理

  1、加载 http://www.baidu.com/test.html

  2、不一定服务端真正有一个 test.html 文件

  3、服务器可以根据请求,动态生成一个 test.html 文件,返回

  4、同理于  


<script>
  window.callback = function (data) {
    console.log(data);  // 这是跨域得到的信息
  }
</script>
<script src="http://www.baidu.com/api.js"></script>
<!-- api.js 内容是: callback({x: 100, y: 200}) -->
登录后复制

2、服务端设置 http header 这是将来解决跨域问题的一个趋势


// 注意:不同后端语言的写法可能不一样

// 第二个参数填写允许跨域的域名,* 代表允许所有域,不建议直接写 *
response.setHeader("Access-Control-Allow-Origin", "http://a.com, http://b.com");
登录后复制

以上是如何理解Js跨域的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!