Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript $http请求中的默认预定义数据_Javascript_Angularjs_Http_Post_Default - Fatal编程技术网

Javascript $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,

我需要一种向http请求添加默认数据属性的方法
我想要这样的东西

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';}```