企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
<hr> <div id="div2"><h3> 2, 对跨域的了解,跨域怎么解决 <h3></div> - 1, 同源策略(浏览器安全策略):协议、域名、端口号必须完全一致 - 同源策略的限制: * ajax只能请求同源的地址 * js只能获取同源的cookie及本地存储 * js只能操作同源的dom - 2, 跨域: 违背同源策略就会产生跨域 - 3,解决跨域: jsonp,cors,服务器代理。。。 ### 1、Ajax为什么不能跨域?到底是卡在哪个环节了?(请求成功了,但客户端浏览器拿不到请求结果) ~~~ Ajax其实就是向服务器发送一个GET或POST请求,然后取得服务器响应结果,返回客户端。 理论上这是没有任何问题的,然而普通ajax跨域请求,在服务器端不会有任何问题,只是服务端响应数据返回给浏览器的时候, 浏览器根据响应头的Access-Control-Allow-Origin字段的值来判断是否有权限获取数据, 一般情况下,服务器端如果没有在这个字段做特殊处理的话,跨域是没有权限访问的,所以响应数据被浏览器给拦截了, 所以在ajax回调函数里是获取不到数据的。所以现在ajax跨域的问题可以转化为数据怎么拿回客户端的问题。 ~~~ 2、 html的script标签,img标签,iframe标签,可以请求第三方的资源(不受同源策略影响) ~~~ web页面可以加载放在任意站点的js、css、图片等资源,不会受到"跨域"的影响。 这个时候,我们会想到:既然我们可以调用第三方站点的js,那么如果我们将数据放到第三方站点的js中不就可以将数据带到客户端了吗? ~~~ - 5、 document.domain + iframe跨域 - 6、 location.hash + iframe - 7、 window.name + iframe跨域