一、前端jQuery代碼javascript
$.ajax({ crossDomain: true, beforeSend: function(req) { req.setRequestHeader("token", token); req.setRequestHeader("auth", auth); }, url:'http://baidu.com', data:{}, method:'get', dataType:'json', success:function(data) { } });
二、服務器端對於要訪問的地址,要設置響應頭html
response.addHeader("Access-Control-Allow-Origin", "*");//支持全域名訪問,不安全,部署後須要固定限制爲客戶端網址 response.addHeader("Access-Control-Allow-Headers", "x-requested-with,content-type,token,auth");//響應頭 請按照本身需求添加。 response.addHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE, PUT");//支持的http 動做
x-requested-with,content-type 後面要加上,容許傳遞的頭部參數前端
另外,對於跨域請求,瀏覽器會先針對請求地址,發送一次 OPTIONS 類型的請求,確保服務器是可以接受跨域請求,若是此時服務器在響應頭中沒有任何設置,瀏覽器則不會發起正式請求(GET、POST、DELETE、PUT請求),會提示請求失敗。java
因此服務器端,根據各自的需求,有時候同一個接口地址要多寫一個 OPTIONS 接口,什麼都不作,只用來設置響應頭。ajax