gpt4 book ai didi

javascript - 如何在 AngularJS 中让不同的 Controller 使用 $httpProvider 的不同配置?

转载 作者:行者123 更新时间:2023-12-02 17:22:43 26 4
gpt4 key购买 nike

我有一个 AngularJS 项目,使用 Angular-seed 的目录布局。 https://github.com/angular/angular-seed

app.js 包含我的 http 提供程序的配置。我的所有 Controller 都必须在 app.js 中使用相同的 http 提供程序配置。

在 app.js 中,

angular.module('myApp', [
'ngRoute',
'myApp.filters',
'myApp.services',
'myApp.directives',
'myApp.controllers',
]).
config(['$httpProvider', function($httpProvider)
{
if (!$httpProvider.defaults.headers.get) {
$httpProvider.defaults.headers.get = {};
}

//disable IE ajax request caching
$httpProvider.defaults.headers.get['If-Modified-Since'] = '0';
}

我有一个 Controller XXXCtrl,当 app.js 如上所述时它可以工作。我有另一个 Controller YYYCtrl ,除非我注释掉 config(['$httpProvider', function($httpProvider)) 中的代码,否则它不起作用。

所以,我的问题是这样的。如何在 AngularJS 中让不同的 Controller 使用 $httpProvider 的不同配置? $httpProvider 可以在单独的 Controller 中配置吗?

最佳答案

您可以覆盖每次调用的 $http header

$http.get(url, {headers:{...}});

由于服务是单例,因此它们的配置一劳永逸。您可以拥有多个 module.config 函数,但这没有帮助。

您还可以使用 Interceptors配置http请求。

关于javascript - 如何在 AngularJS 中让不同的 Controller 使用 $httpProvider 的不同配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23775957/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com