ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
[TOC] ![](https://box.kancloud.cn/34965e5786743255b251c92b71679d81_721x220.png) ## 1.什么是跨域 当协议,子域名,主域名,端口号,任意一个不同时,就算作不同的域。 不同域之间请求资源就算做跨域。 Javascript出于安全性的考虑,不允许跨域调用其他页面的对象。简单理解就是因为Javascript`同源策略的限制`,a.com域名下的js无法操作b.com域名下的对象。 ## 2.如何解决跨域 ### 1.jsonp ``` $.ajax({ type:"method", url:"", dataType:"jsonp", jsonp:"callback", success:function(data){ }, error:function(xhr){ console.log(xhr.status) } }) ``` ### 2.服务器的解决方案 ![](https://box.kancloud.cn/66827ecd658d26b99363562394771481_679x264.png) ### 3.js中script标签不受同源策略的影响也可以实现跨越 ``` var script = document.createElement("script"); script.src = "http://api.douban.com/v2/movie/subject/1764796?&callback=handleResponse"; document.body.prepend(script); function handleResponse(res) { // 对response数据进行操作代码 console.log(res) } ```