以前只知道要解決ajax跨域只能透過jsonp的方式來解決,在最近做影片本地上傳時,需要上傳影片到優酷和youtube,如果直接透過post方法傳,只能在瀏覽器下方看到上傳進度,使用者體驗很不好,如果用ajax上傳則可以自訂上傳進度和顯示上傳速度,但是由於上傳到第三方視訊服務商,遇到的第一個問題就是跨域。
CORS正好可以解決這個問題。
CORS與JSONP相比,無疑更為先進、方便、可靠。
1、 JSONP只能實現GET請求,而CORS支援所有類型的HTTP請求。
2、 使用CORS,開發者可以使用普通的XMLHttpRequest發起請求和獲得數據,比起JSONP有更好的錯誤處理。
3、 JSONP主要由舊的瀏覽器支持,它們往往不支援CORS,而絕大多數現代瀏覽器都已經支援了CORS。
PHP中: header(””Access-Control-Allow-Origin: *””);
html中:
如果CORS中包含了302跳轉,則需要302跳轉之後的網址也包含CORS的header請求。
目前IE8以上和其他主流瀏覽器都已經支援了CORS跨域,相信這個技術未來會非常實用。