1. 程式人生 > >解決Ajax跨域請求的三種方式

解決Ajax跨域請求的三種方式

如何解決跨域問題


什麼叫跨域:

主機、協議、埠三者有任何一個不同即為跨域
舉個栗子
1. JSONP
  JSONP是JSON with Padding的略稱。它是一個非官方的協議,它允許在伺服器端整合Script tags返回至客戶端,通過javascript callback的形式實現跨域訪問(這僅僅是JSONP簡單的實現形式)。  
2. 新增響應頭,允許跨域
  addHeader(‘Access-Control-Allow-Origin:*’);//允許所有來源訪問
  addHeader(‘Access-Control-Allow-Method:POST,GET’);//允許訪問的方式
3. 代理的方式


伺服器A的test01.html頁面想訪問伺服器B的後臺action,返回“test”字串,此時就出現跨域請求,瀏覽器控制檯會出現報錯提示,由於跨域是瀏覽器的同源策略造成的,對於伺服器後臺不存在該問題,可以在伺服器A中新增一個代理action,在該action中完成對伺服器B中action資料的請求,然後在返回到test01.html頁面。