跨域請求資料解決方案主要有以下解決方法:
JSONP方式 表单POST方式 服务器代理 Html5的XDomainRequest Flash request
分開說明:
一、JSONP:
直觀的理解:
就是在客戶端動態註冊一個函數
function a(data),然後將函數名稱傳到伺服器,伺服器傳回一個a({/*json*/})到客戶端運作,這樣就呼叫客戶端的
function a(data),從而實現了跨域.
誕生背景:
1、Ajax直接請求普通文件存在跨域無權訪問的問題,甭管是靜態頁面、動態網頁、web服務、wcf、只要是跨域請求,一律不行。
2、不過,web頁面上呼叫js檔案時則不受此影響
3.進一步推廣,我們發現,凡是擁有Src屬性的標籤都有跨域能力,如: