Javascript $http请求中的默认预定义数据
我需要一种向http请求添加默认数据属性的方法Javascript $http请求中的默认预定义数据,javascript,angularjs,http,post,default,Javascript,Angularjs,Http,Post,Default,我需要一种向http请求添加默认数据属性的方法 我想要这样的东西 var app = angular.module('dumbhttp', []); app.service('dumbhttp', function ($http, $location) { this.post = function(url, data){ data.prePopData = 'sameInfoForEveryRequest'; return $http.post(url,
我想要这样的东西
var app = angular.module('dumbhttp', []);
app.service('dumbhttp', function ($http, $location) {
this.post = function(url, data){
data.prePopData = 'sameInfoForEveryRequest';
return $http.post(url, data);
};
});
这是可行的,但似乎不是正确的做事方式。我必须使用http服务,而不是angulars$http 如果这能奏效,那就太好了
var app = angular.module('$http', []);
app.service('$http', function ($http, $location) {
this.post = function(url, data){
data.prePopData = 'sameInfoForEveryRequest';
return $http.post(url, data);
};
});
但遗憾的是,事实并非如此:-(
也许这样做是正确的
$http.setDefaluts.requestData.mykey = 'mydefaultvalue'
我不是以一种RESTful的方式使用它,只是提醒一下,我们的团队使用不同的架构
提前感谢!
-James您想看看$resource服务吗
$resource您需要使用拦截器:
$httpProvider.interceptors.push(function($q, dependency1, dependency2) {
return {
'request': function(config) {
config.data.prePopData = 'sameInfoForEveryRequest';
return config;
}
};
});
我可以使用它。我认为$resource对于我正在做的事情来说有点重。但如果归结起来,我想这就是我要做的。谢谢,你需要使用拦截器。更多信息(和说明)可以找到。这是我正在寻找的,但它不是很正常。当我执行
config.data.preppdata='sameinfoveryRequest';
时,它说数据未定义,所以我定义了数据,它工作了,但是我传递给$http的数据丢失了。TypeError:无法设置未定义的属性'preppdata'
do console.log(config)你到底想干什么?我想出来了!``如果(typeof config.data!==未定义){config.data.preppdata='sameinfoveryRequest';}```