跨域

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以下都不支持

//在服务端的改动,设置服务器头
上一篇下一篇

猜你喜欢

热点阅读