[英]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.