跨域
2019-08-23 本文已影响0人
haha2333
图片.png
当协议、子域名、主域名、端口号任意一个不相同时,都算作不同域。
当协议、子域名、主域名、端口号任意一个不相同时,都算作不同域。
同源策略是浏览器的一个安全功能,不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源。
js出于安全的考虑,不允许跨域调用其他页面的对象
不同域之间请求资源,就算作跨域
处理跨域方法:
1.后台方法:通过同域名的web
服务器向其他服务器创建一个代理。
比如,上海的客户端需要调用北京服务端的资源。需要在上海的服务端创建一个北京服务端的代理,北京服务端返回信息到上海服务端,再由上海服务端返回给上海客户端。
2.JSONP
不支持post请求
<script src="..."></script> //另外域名的js文件
//前端ajax请求
$.ajax({
dataType:"jsonp",
jsonp:"123" //和后端对应的参数名称
})
//后台php代码改造
$jsonp= $_GET["123"]
$result=$jsonp.'({....})'
//使用.号连接字符串,用()把之前的值括起来
3.XHR2
html5新特性。ie10以下都不支持
//在服务端的改动,设置服务器头