做点什么并继续执行类

时间:2012-11-14 15:51:27

标签: javascript oop angularjs

我想在调用$ http的get方法之前添加一些标题。我试过这个:

$http = $originalHttpMethod;
this.$http = function() {
   //add headers
   return $http
};
$http.get({url:'http://...'});

但是我收到了这个错误:

  

TypeError:Object function(){return $ http}没有方法'get'。

我想在没有崩溃的原始课程的情况下这样做 我怎么能这样做?

2 个答案:

答案 0 :(得分:2)

提供服务而不是做任何本地的事情。这样,您可以在应用程序中更轻松地重复使用它。

module.factory('$myHttp', ['$http', function($http) {
  //do your stuff
  return $http;
}]);

然后在您的控制器,指令或任何其他服务中,只需将其作为依赖项包含并使用它,如下所示:

$myHttp.get()

以下是有关此内容的更多信息:

http://www.yearofmoo.com/2012/10/more-angularjs-magic-to-supercharge-your-webapp.html#you-should-be-using-custom-services

答案 1 :(得分:2)

您可以在调用$ http服务时在config parameter object中定义标题:

configObj = {url:'http://...', headers: { add your headers here}, ... };
$http.get(configObj);