🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] # 1.跨域 ![](https://box.kancloud.cn/425196de01f6ced463709db5be09193e_721x220.png) 当协议,子域名,主域名,端口号,任意一个不同时,就算作不同的域。 * 不同域之间请求资源就算做跨域。 * Javascript出于安全性的考虑,不允许跨域调用其他页面的对象。简单理解就是因为Javascript同源策略的限制,a.com域名下的js无法操作b.com域名下的对象。 ![](https://box.kancloud.cn/a0b601fae1ed7f6146de531fab608d34_688x236.png) # 2.如何解决跨域 ## 2.1.jsonp ``` $.ajax({ type:"method", url:"", dataType:"jsonp", jsonp:"callback", success:function(data){ }, error:function(xhr){ console.log(xhr.status) } }) ``` ## 2.2.服务器的解决方案 ![](https://box.kancloud.cn/c93345b131a9e3baf9129b22bdd62f38_679x264.png) ## 2.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) } ```