[英]AngularJS - set HTTP header for GET request
可能這是一個普遍的問題,可以通過互聯網獲得,但我得到的是這里。
所以我遵循相同的,並將代碼更改為
設置標題
var config = {headers: {
'Authorization': 'XXXYYY token="xxxxxxxx", realm="dash-api"',
"X-Testing" : "testing"
}
};
獲取請求調用:
return $http.get(api.host+'/agn/12/adv/1860/cam?status=1', config).then(function (response) {
return {
status:"success",
data:response.data.data.active
};
}, function (error) {
return {
status:"error",
data:error
}
});
正如您所看到的,請求是在方法類型OPTIONS中進行的,並且請求中未設置Authorization
令牌。
請幫我解決這個問題,因為我兩天都在苦苦掙扎。
非常感謝。
我想如果你看一下你所指的鏈接,你就會得到與作者相同的問題,該帖子的作者確實說這是一個CORS問題 - 他與之通信的服務器不支持CORS,他在自己的評論中證實了這一點。
至於為什么要獲得OPTIONS請求,這是因為CORS向服務器發出“飛行前”請求,以確定是否支持CORS,然后才能發出實際請求。
您最有可能看到OPTIONS
請求,因為您正在發出跨域請求(CORS)。 首先,您的服務器應支持CORS(通過響應中設置的Access-Control-Allow-Origin
標頭響應OPTIONS請求)。
如果要進行經過身份驗證的跨源請求,則需要在發出請求時將withCredentials
設置為true
。
$http.get(url, { withCredentials: true })
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.