我们所有的内容网页都有一个特定的标题X-Foo
。当ng-view
的内容发生更改时,我们希望在不同的元素中显示新页面的X-Foo
标头。每当内容发生变化时,我们如何获得此值?
编辑:由于显然不清楚,标题是响应,而不是请求。
答案 0 :(得分:4)
您可以使用httpInterceptor。 HTTP拦截器是在一个地方定义行为的好方法,用于使用$ http服务为所有HTTP调用处理请求或响应
app.config(function ($httpProvider) {
$httpProvider.interceptors.push('httpInterceptor');
}).factory('httpInterceptor', function (liveInterviewConfiguration) {
return {
request : function (request) {
console.info("Your request headers are");
console.info(request.headers);
return request;
},
requestError : function (error) {
return error;
},
response : function (response) {
return response;
},
responseError : function (error) {
return error;
}
};
});
答案 1 :(得分:0)
你能用$ http访问控制器中的标题吗?我没有任何改变标题随时可用来测试它。
controller('SampleCtrl', function($http, $scope) {
// Add headers from $http
$scope.http = $http.defaults.headers.common;
});
或者,如果这不起作用,您可能需要查看使用http interceptors。
.config(function($routeProvider, $locationProvider, $httpProvider) {
$httpProvider.interceptors.push(function($q) {
return {
'response': function(response) {
// do something on success
console.log(response);
return response;
}
};
});
}