Angularjs 如何在客户端上获取Accept Language请求标头值

Angularjs 如何在客户端上获取Accept Language请求标头值,angularjs,Angularjs,我需要知道接受语言请求标题值,以便在页面上进行翻译。我试图创建一个拦截器,比如 $httpProvider.interceptors.push(requestInterceptor); ,但在方法上 request: function (config) { 对于我的拦截器,我没有看到Accept Language标题。我看到Accept,Cache Control,如果修改自,则为Pragma,但在浏览器中我确实看到Accept LanguageAngularJS请求拦截器的配置参数中并非所

我需要知道
接受语言
请求标题值,以便在页面上进行翻译。我试图创建一个拦截器,比如

$httpProvider.interceptors.push(requestInterceptor);
,但在方法上

request: function (config) {

对于我的拦截器,我没有看到
Accept Language
标题。我看到Accept,Cache Control,如果修改自,则为Pragma,但在浏览器中我确实看到
Accept Language

AngularJS请求拦截器的配置参数中并非所有请求头都可用。其他标头值是在构造请求时添加的浏览器设置

你可以用,但我不确定它给了你正确的语言

var language=window.navigator.userLanguage或 window.navigator.language

只有服务器才能看到
Accept Language
的值。因此,我认为最好的方法是从服务器响应体中获取该值,并将其存储在cookie(名称示例AcceptLanguageCookie)中,然后在拦截器中以类似的方式覆盖
接受语言

var app = angular.module("app", []);

app.config(["$httpProvider", function($httpProvider) {
  // set Accept-Language header on all requests
  $httpProvider.defaults.headers.common["Accept-Language"] = $cookies.get("AcceptLanguageCookie");
}]);

您应该有一个headers对象或数组,可以在其中添加标题信息。在Angular2/4上,您有如下内容:var headers=newheaders();headers.append('Accept-Language','xyz);这个.http.post(url,data,{headers:headers})@moohkooh当我执行请求时,浏览器将语言代码设置为头,我需要读取它。我不需要设置它,我需要知道浏览器设置的值。