gpt4 book ai didi

angularjs - 如何为自定义 Angular $resource 操作指定 headers 参数

转载 作者:行者123 更新时间:2023-12-02 19:44:54 24 4
gpt4 key购买 nike

以下工作正常,但我认为这会全局修改 $httpProvider,这不是我想要的。

angular.module('SessionService', ['ngResource'])
.config(function($httpProvider){
$httpProvider.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8'
})
.factory('Login', function($resource){
var resource = $resource('/adminui/login',{},{
post:{
method:"POST",
isArray:false
},
});
return resource;
})
LoginCtrl = function($scope,Login) {
$scope.login = function(){
Login.post($.param({user:$scope.user.username,password:$scope.user.password}),$.noop,$.noop)
}
}

有什么办法可以代替吗?

...
.factory('Login', function($resource){
var resource = $resource('/adminui/login',{},{
post:{
method:"POST",
isArray:false,
headers:{'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8'} // ignored
},
});
return resource;
})

“headers”参数似乎被忽略。请求仍然

内容类型:application/json;charset=UTF-8

我的标题值可以吗?

最佳答案

我已经确认 1.1.3 确实支持这一点。但是,您需要确保您还获得了资源服务的 1.1.3 版本。快速测试:

angular.module('myApp', ['ngResource']).
config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/', {templateUrl: 'partials/partial1.html',controller: 'MyController'});
$routeProvider.otherwise({redirectTo: '/'});
}])

.controller("MyController", function( $scope, Bug) {
Bug.post({test:"test"});
})

.factory('Bug', function($resource){
var resource = $resource('/bug',{},{
post:{
method:"POST",
isArray:false,
headers:{'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8'}
},
});
return resource;
});

这将发出一个请求,并将 header 设置为(使用 Chrome 确认):

Content-Type:application/x-www-form-urlencoded; charset=UTF-8

简单说明一下,我无法找到 angular-resource.js 的下载,所以我不得不去 github 网站下载它。是here .

为了一些咯咯的笑声,我创建了一个 fiddle 。请注意,将有一个失败的 POST 调用,但其 header 设置正确。 Example Fiddle

关于angularjs - 如何为自定义 Angular $resource 操作指定 headers 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12791667/

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