我可以将 Accept-Language 请求 Header 更改为 AngularJS
Can i change Accept-Language Request Header with AngularJS
有没有办法更改或编辑我发送到 API 的接受语言 header? javascript Jquery 或 Angular 有办法吗?我不想发送默认的,但我的 Cookie 有!
在 AngularJS 中,您可以使用 $httpProvider and you can get the cookies by using $cookies 服务设置通用 headers。
例如:
var app = angular.module("app", []);
app.config(["$httpProvider", "$cookies", function($httpProvider, $cookies) {
// set Accept-Language header on all requests to
// value of AcceptLanguageCookie cookie
$httpProvider.defaults.headers.common["Accept-Language"] = $cookies.get("AcceptLanguageCookie");
// or set headers on GET requests only
if (!($httpProvider.defaults.headers).get) {
($httpProvider.defaults.headers).get = {};
}
$httpProvider.defaults.headers.get["Test-Header"] = "value";
}]);
要引用包含您的特定 "Accept-Language" 值的 cookie,您需要在 运行 时执行此操作。原因是app config只接受Providers,不推荐引用Services。
要在 运行 时执行此操作,您需要使用 $http and $cookies 服务
这是一个例子:
var app = angular.module("app", []);
app.run(["$http", "$cookies", function($http, $cookies){
// set Accept-Language header on all requests
$http.defaults.headers.common["Accept-Language"] = $cookies.get("LocaleCookie");
}]);
要在没有 cookie 的情况下静态设置 "Accept-Language" 那么您可以使用 .config()
var app = angular.module("app", []);
app.config(["$httpProvider", function($httpProvider) {
// set Accept-Language header on all requests
$httpProvider.defaults.headers.common["Accept-Language"] = "fr";
}]);
有没有办法更改或编辑我发送到 API 的接受语言 header? javascript Jquery 或 Angular 有办法吗?我不想发送默认的,但我的 Cookie 有!
在 AngularJS 中,您可以使用 $httpProvider and you can get the cookies by using $cookies 服务设置通用 headers。
例如:
var app = angular.module("app", []);
app.config(["$httpProvider", "$cookies", function($httpProvider, $cookies) {
// set Accept-Language header on all requests to
// value of AcceptLanguageCookie cookie
$httpProvider.defaults.headers.common["Accept-Language"] = $cookies.get("AcceptLanguageCookie");
// or set headers on GET requests only
if (!($httpProvider.defaults.headers).get) {
($httpProvider.defaults.headers).get = {};
}
$httpProvider.defaults.headers.get["Test-Header"] = "value";
}]);
要引用包含您的特定 "Accept-Language" 值的 cookie,您需要在 运行 时执行此操作。原因是app config只接受Providers,不推荐引用Services。
要在 运行 时执行此操作,您需要使用 $http and $cookies 服务
这是一个例子:
var app = angular.module("app", []);
app.run(["$http", "$cookies", function($http, $cookies){
// set Accept-Language header on all requests
$http.defaults.headers.common["Accept-Language"] = $cookies.get("LocaleCookie");
}]);
要在没有 cookie 的情况下静态设置 "Accept-Language" 那么您可以使用 .config()
var app = angular.module("app", []);
app.config(["$httpProvider", function($httpProvider) {
// set Accept-Language header on all requests
$httpProvider.defaults.headers.common["Accept-Language"] = "fr";
}]);