jQuery中封裝了ajax的方法,以下主要討論在這種方法下跨域的問題
1. 在服務端添加響應頭
header('Access-Control-Allow-Origin', '*')
header('Access-Control-Allow-Methods', 'PUT,POST,GET,DELETE,OPTIONS')
顯然這種方法需要你能夠修改服務端的代碼
使用這種方法在谷歌瀏覽器下依然可能會有限制,可能會有報錯”Origin null is not allowed by Access-Control-Allow-Origin”,一個解決方法是將文件都放到一個服務器上,第二個解決方式右鍵谷歌瀏覽器,點擊屬性,在位置後面加上–disable-web-security
2.jsonp
這是一種僞跨域的方法,將ajax方法發生的參數中加上datatype:jsonp,
這種方法只支持GET,不支持POST,而且傳回的數據大小有限制。
還有一點要注意的是,jsonp的格式與json略有不同,要對傳回的格式加以修改才行