JSONP參考教材:http://kb.cnblogs.com/page/139725/html
JSONP是利用HTML的script標籤一下特性:json
1)引用外部資源不受跨域問題影響跨域
2)script標籤加載完js資源後立馬自動執行加載的js安全
3)新加載的js做用域爲全局服務器
script標籤的src屬性指向服務端動態生成js文件,該js文件的基本格式以下:函數
callback(jsonData);
其中callback函數在客戶端定義,名稱不定,由script標籤經過url傳參傳遞到服務器,jsonData爲目標數據。url
簡單的說就是:在網頁中定義一個全局函數,讓後經過script標籤訪問服務器並帶上這個全局函數名,服務器收到這個函數名動態生成上文提到的js文件,網頁加載完後就會執行全局函數。spa
簡單方便,經過封裝能作到像寫AJAX同樣;.net
1)服務器接口須要改變code
2)沒法獲獲知接口調用失敗
在返回的響應信息中,使用 Access-Control-Allow-Origin 頭來控制哪些域名的腳本能夠訪問該資源。若是設置 Access-Control-Allow-Origin:*,則容許全部域名的腳本訪問該資源。若是有多個,則只須要使用逗號分隔開便可。
注意:在服務器端,Access-Control-Allow-Origin 響應頭中的端口信息不能省略。
1)簡單方便
2)客戶端不須要做任何改動
1)服務端安全性下降
2)須要服務端配合修改報文頭
推薦教程:http://www.jb51.net/article/33711.htm
1)數據迂迴傳遞
2)需在服務端部署response.html
3)回調函數必須爲全局函數