ajax跨域問題的解決方法:1、回應頭添加Header允許存取;2、jsonp只支援get請求不支援post請求;3、httpClient內部轉送;4、使用nginx搭建企業級介面網關方式。
相關免費學習推薦:ajax(視頻)
ajax跨域問題的解決方法:
解決方式1:回應頭新增Header允許存取
跨域資源共享(CORS)Cross-Origin Resource Sharing
這個跨域存取的解決方案的安全基礎是基於"JavaScript無法控制該HTTP頭"
#它需要透過目標網域傳回的HTTP頭來授權是否允許跨網域存取。
response.addHeader(‘Access-Control-Allow-Origin:*’);//允许所有来源访问 response.addHeader(‘Access-Control-Allow-Method:POST,GET’);//允许访问的方式
解決方法2:jsonp 只支援get請求不支援post請求
用法:①dataType改為jsonp ②jsonp : "jsonpCallback"— ———發送到後端實際為http://a.a.com/a/FromServlet?userName=644064&jsonpCallback=jQueryxxx ③後端取得get請求中的jsonpCallback ④建構回呼結構#rr#rrSON##re#reSON
reSONreSONreSON##r#r#r#r#r#w代碼原理
在同源策略下,在某個伺服器下的頁面是無法取得到該伺服器以外的資料的,即一般的ajax是不能進行跨網域請求的。但 img、iframe 、script等標籤是個例外,這些標籤可以透過src屬性請求到其他伺服器上的資料。利用