ajax跨越解决方案
ajax跨越解决方案(极客学院):
<1>ajax 不允许跨域子域,但iframe(只可以跨子域)可以,通过iframe协助完成跨子域操作。
<2>jsonp跨域原理(可以跨全域):
本质并不是ajax,只是执行了跨域js。在html中,所有带src的标签都可以跨域 script ,img ,iframe。所以可以通过script加载其他域的一些动态脚本,这段脚本包含了想要的数据信息。
<3>CORS原理(https://enable-cors.org/index.html)
xhr level2 支持新标准,允许发起ajax请求。但是为了跨域安全,需要在服务器响应头部提供一些信息,供浏览器校验请求是否被允许。
Access-Control-Allow-Origin
Access-Control-Allow-Method
Access-Control-Allow-Headers
原理:
服务器a.test.com b.test.com
客户端:客户端浏览器
a.test.com中的页面通过ajax请求b.test.com 中的/home/index 页面时,会向b.test.com发送两次请求,一次是Option请求,用来验证b.test.com的服务器端是否允许a.test.com 中的来的ajax请求,如果返回的请求头中如Access-Control-Allow-Origin Access-Control-Allow-Method Access-Control-Allow-Headers 的标识字段说明允许,客户端浏览器再次向服务器b.test.com发送原始的请求,获取数据。

浙公网安备 33010602011771号