gpt4 book ai didi

angularjs - 如何使用 $resource 获取状态码?

转载 作者:行者123 更新时间:2023-12-02 17:35:04 26 4
gpt4 key购买 nike

我提出要求的工厂在这里:

angular.module('myapp').factory('testResponse',
['$http', '$resource', 'AppConfig', '$routeParams', '$rootScope',
function($http, $resource, $routeParams, $rootScope) {
$http.defaults.headers.common['Authorization'] = authorizationHeader;
$http.defaults.headers.post['Content-Type'] = 'application/json';
return $resource('test.json'), {}, {
query: {method: 'GET'}
};
}]);

Controller 中的代码在这里:

angular.module('myapp').controller('TestCtrl',
['$http', '$scope', 'testResponse', 'AppConfig', function TestCtrl($http, $scope, testResponse) {
testResponse.query(function(data) {
console.log(data.status);
})
}]);

理想情况下,它应该记录 $http 请求中的状态,但我无法为 $reource 获取它

最佳答案

在服务 testResponse 中,您可以将返回语句更改为此

return $resource('test.json'), {}, {
query: {
method: 'GET',
transformResponse: function(data, headers,statusCode) {
console.log(statusCode);//prints 200 if nothing went wrong
var finalRsponse = {
data: data,
responseStatusCode: statusCode
};
return finalRsponse;
}}
};

并且在您的 Controller 的 testResponse 服务的 then(success,error) 成功方法中,您可以使用 data.responseStatusCode 访问状态代码。

我已经在 angularjs-1.2.321.5.7 上测试过了。

关于angularjs - 如何使用 $resource 获取状态码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27655598/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com