1. 程式人生 > >AJAX跨域問題解決方法(2)——JSONP解決跨域

AJAX跨域問題解決方法(2)——JSONP解決跨域

使用JSONP伺服器後臺要改動嗎?
JSONP不同於一般的ajax請求返回json物件,JSONP返回的是script指令碼。
所以,使用JSONP時,伺服器後臺需要進行改動,如果依然返回的是json物件,則會報錯。

JSONP解決跨域的實現原理
瀏覽器只對XHR進行跨域問題校驗,而JSONP的型別是script,所以可以迴避跨域校驗。
JSONP通過建立一個動態的script指令碼,在script中把請求發出去。
注:請求後跟著一個下劃線,是防止請求被快取,如果允許快取,則可以在ajax請求中加上cache: true

JSONP有什麼弊端?
1.伺服器需要改動程式碼支援
2.只支援get
3.傳送的是script,不是XHR

綜上所述:JSONP依然不是解決跨域最好的方法。


更多專業前端知識,請上 【猿204