Ajax跨域
跨域: 网站A去访问网站B的数据
存在的问题: 浏览器有同源策略 (浏览器阻止ajax请求得到的数据在页面上的继续使用)
解决方案: jsonp、cors、服务器代理
jsonp的核心原理
使用script标签的src属性进行跨域请求,得到的结果会被当成js代码来执行
<script src="/login/status"></script>
/login/status 响应的结果:
var isLogin = true;
var userId = "dasdast356532e";
cors的核心原理
CORS:全称为 Cross-originresource sharing,即跨域资源共享,它允许浏览器向跨域服务器发送 Ajax 请求,克服了 Ajax 只能同源使用的限制
核心原理:在服务器端设置中间件,在中间件中设置两个属性:
//在被访问的服务器上设置
//设置可以访问的IP地址
//* 标签所有IP地址都可以访问
'Access-Control-Allow-Origin', '*'
//设置可以访问的方式
'Access-Control-Allow-Methods', 'GET, POST'
服务器代理的核心原理
跨域访问主要是因为浏览器的同源政策导致跨域访问时,服务器响应了数据,但是浏览器因为同源政策不允许使用,所有可以访问自己的服务器,在服务器端访问其他网站的数据,获取到之后在响应给浏览器就可以使用
原文地址:https://www.cnblogs.com/j-j-h/p/12056923.html
时间: 2024-10-18 05:06:31