每次发出任何请求时,我都希望将自定义HTTP标头发送到REST服务。我正在使用Apache HTTP Web Server。我有以下代码:
app.config(['$httpProvider', function($httpProvider){
if(!$httpProvider.defaults.headers.get){
$httpProvider.defaults.headers.get = {};
}
$httpProvider.defaults.headers.get['My-Token'] = 'some_test_token';
}]);
但我在devtools中看到了下一个:
我的标题内嵌到其他内容中。我做错了什么?
答案 0 :(得分:0)
您提供的屏幕截图处理OPTIONS请求,而您正在配置GET请求。 OPTIONS请求作为HTTP中内容协商实现的一部分发送。
在这种情况下,您要发送预检OPTIONS请求,这反过来表明您的未来请求将包含my-token
标头。这是期望的行为,因为服务器现在可以指示客户端不继续执行此请求或执行条件操作。
在您的浏览器(或您用于调试HTTP的其他软件)中,查找GET请求,您应该看到正确包含的标头。
答案 1 :(得分:0)
AngularJS方面的麻烦并非如此。我只是配置Apache HTTP服务器和我的应用程序的后端部分。我的Spring Security过滤器链阻止了OPTIONS请求。