如何以及在何处定义angular $ http默认值?

时间:2015-01-19 20:01:21

标签: javascript angularjs http-headers angularjs-http misuse

我正在尝试在角度应用程序上设置$ http的默认值,所以我有:

var application = angular.module('Application', ['ngDialog', 'validation']).config(function ($http) {

  $http.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded";

});

这会导致错误。如何以及在何处设置$ http的默认值?

2 个答案:

答案 0 :(得分:4)

配置阶段用于配置服务提供商。 配置阶段结束后,运行阶段开始,提供程序用于创建服务。

结果是在配置阶段,您无法访问任何服务。您可以在运行阶段执行此操作:

application.run(function($http) {
    ...
});

请注意,$httpProvider也允许配置默认值,因此您也可以

application.config(function($httpProvider) {
    ...
});

答案 1 :(得分:1)

它应该是$ httpProvider而不是$ http

在角度配置时,提供商可以作为后缀使用'提供商'

最好在角度而不是运行阶段的配置阶段设置提供者设置。