[英]angular $http get all headers
TL; DR;
我想从$http
服务获取所有标头并将它们显示在页面上。 我不在乎它只是键列表还是键/值对。
我想做的事
$http
.get( '/data/?some=parameters&go=here' )
.success( function( response, status, headers ) {
$scope.headers = headers();
});
如果我console.log
headers()
或$scope.headers
这将在Chrome控制台中正确输出。
我唯一能做到的事
$http
.get( '/data/?some=parameters&go=here' )
.success( function( response, status, headers ) {
$scope.headers['cache-control'] = headers('cache-control');
$scope.headers['connection'] = headers('connection');
$scope.headers['content-type'] = headers('content-type');
$scope.headers['date'] = headers('date');
$scope.headers['expires'] = headers('expires');
$scope.headers['keep-alive'] = headers('keep-alive');
$scope.headers['pragma'] = headers('pragma');
$scope.headers['server'] = headers('server');
$scope.headers['transfer-encoding'] = headers('transfer-encoding');
$scope.headers['x-powered-by'] = headers('x-powered-by');
// etc....
});
这实际上在代码中有效,但是我必须手动告诉每个期望的标头。
同时在我看来
<div class="row" ng-repeat="(key,value) in headers">
<div class="col-xs-4 text-right">{{ key }}</div>
<div class="col-xs-8 text-left">{{ value }}</div>
</div>
在提出此问题时,AngularJS v1.3.15受到了损害。
我不知道为什么,以及如何angular
产生标题object
,但这个错误的原因是对象没有hasOwnProperty()
函数,用于通过ng-repeat
循环,避免标准JS函数的调用。
我设法做到的是简单复制新创建的对象中的属性以使其起作用:
$scope.headers = {}
var tmp = headers()
for (var key in tmp) {
$scope.headers[key] = tmp[key]
}
请参阅“ 塞子 ”示例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.