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

How and where to define angular $http defaults?

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

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

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

});

这是一个错误。如何以及在哪里可以设置 $http 的默认值?

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

推论是在配置阶段,您不能访问任何服务。不过,您可以在 运行 阶段执行此操作:

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

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

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

应该是 $httpProvider 而不是 $http only

在 angular 配置时,供应商可以作为带有 'Provider'

的后缀访问

最好在 angular 的配置阶段设置提供商设置,而不是 运行 阶段。