## 1、域名的組成
http://www.abc.com:8080/scripts/jquery.js
其中http://是協議,www是子域名,abc.com是主域名,8080是端口號,scripts/jquery.js是請求資源地址
## 2、跨域
* 不同域之間請求資源就算做跨域、
* Javascript出于安全性的考慮,不允許跨域調用其他頁面的對象。簡單理解就是因為Javascript同源策略的限制,a.com域名下的js無法操作b.com域名下的對象。
## 3、如何解決跨域
### 3、1jsonp
~~~
$.ajax({
type:"method",
url:"",
dataType:"jsonp",
jsonp:"callback",
success:function(data){
},
error:function(xhr){
console.log(xhr.status)
}
})
~~~
### 3、2服務器的解決方案
1. HTML5提供的XMLHttpRequestLevel2已經實現了跨越訪問以及其他的一些新功能
2. IE10以下的版本都不支持
3. 在服務器端做一些小小的改造即可:
header(`Access-Control-Allow-Origin:*`);
header(`Access-Control-Allow-Methods:POST,GET`);
## 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)
}
~~~