我們都知道,ajax不能做跨域請求,我們首先想到的是jsonp,但是問題來了,它只是支援get請求,如果要傳輸資料量比較大,get請求就不能滿足我們的需求了,我們需要使用ajax的post跨域請求,如何實現呢,我們可以通過cors。
cors的原理:
cors是一種跨域訪問機制,可以讓ajax實現跨域訪問,cors 允許乙個域上的網路應用向另乙個域提交跨域 ajax 請求。實現此功能非常簡單,我們只需要向伺服器傳送乙個響應標頭即可(ie8以上才支援)
設定,「*」號表示允許任何域向我們的服務端提交請求,也可以設定成指定的網域名稱。
自認為的cors使用場景:
cors在移動終端支援的不錯,可以考慮在移動端全面嘗試;pc上有不相容和沒有完美支援,所以小心踩坑。當然瀏覽器相容就是個偽命題,說不准某個瀏覽器的某個版本就完美相容了,說不准就有點小坑,尼瑪傷不起!
jsonp是get形式,承載的資訊量有限,所以資訊量較大時cors是不二選擇;
配合新的jsapi(fileapi、xhr2等)一起使用,實現強大的新體驗功能。
Ajax的Post跨域請求
同協議,同ip,同埠視為乙個域,兩個域之間互相訪問就是跨域訪問請求。根據瀏覽器的同源策略,乙個域中的指令碼只具有訪問本域資源的許可權,無法訪問其他域的資源。如果域中的ajax直接訪問另乙個域的資源就會有問題,這就是我們說的js跨域請求問題 跨域請求域有兩種常用解決方案,jsonp和cors,因為js...
Ajax跨域請求
一 什麼是跨域請求 網域名稱它由http 協議 www 子網域名稱 baidu 主網域名稱 以及8080 埠號 組成,當另乙個網域名稱與其中任意一項對應不等的話,那麼我們說兩個網域名稱就是跨域的。如的頁面上我們要請求資料到上去,那麼就說這種請求是跨域請求。二 為什麼要講跨域請求 因為在一般的請求條件...
Ajax 跨域請求
隨筆 71 文章 0 客戶端js 服務端 1 string callbackfunname context.request callbackparam 2 context.response.write callbackfunname ps 客戶端的jsonp引數是用來通過url傳參,傳遞jsonpc...