- JSONP:
- 原理:動態(tài)生成一個script標簽(不存在同源策略),在src屬性設(shè)置要訪問的url,并且加上callback函數(shù),添加到html文檔中,當資源加載后,支持jsonp的服務(wù)器會解析請求的url,提取callback參數(shù)中的值,會動態(tài)的生成執(zhí)行這個回掉函數(shù)的語句,并且把返回的數(shù)據(jù)當作是該函數(shù)的參數(shù)傳遞進去,在Windows上掛載中定義好的回調(diào)函數(shù)就會調(diào)用,于是就獲得了數(shù)據(jù)
- 缺陷:只能獲取不同源中的 數(shù)據(jù),無法提交數(shù)據(jù)或者修改數(shù)據(jù);無法檢測請求是否失效;存在安全隱患,當所請求的服務(wù)器中執(zhí)行回調(diào)函數(shù)的語句中添加了一些惡意代碼,也會被執(zhí)行
- 優(yōu)點:兼容性好
function callback(res) {console.log(res)}
- CROS:
- 原理:
- 缺陷:ie10低下不支持;
refered:在請求頭中,表明請求的來源自哪里
作用:
- 判斷是否是正確的請求域名,如果是就繼續(xù)訪問,不是攔截(防盜鏈)
host:請求的服務(wù)器域名