我有一个AngularJS $ http拦截器来拦截请求和响应。 我需要访问拦截器的请求方法中的几个请求标头。为什么AngularJS请求拦截器的配置参数中没有所有请求头文件?
但是,当我控制台登录配置对象作为参数收到请求方法,我可以看到config.headers下只有一个头;这是
Accept: "application/json, text/plain, */*"
和开发者的工具正显示出像
Accept:application/json, text/plain, */*
Accept-Encoding:gzip,deflate,sdch
Accept-Language:mr,en-US;q=0.8,en;q=0.6
Connection:keep-alive
Host:localhost:8080
Origin:http://127.0.0.1:61917
Referer:http://127.0.0.1:61917/index.html
我知道$httpProvider.defaults.headers.common
套头是常见的所有请求的所有请求头,并添加默认标题是
Accept: application/json, text/plain, */*
但为什么我不能访问其他请求标头的请求uest?
如何在AngularJs中的请求拦截器方法中获得所有这些请求标头?
因此,我们无法在AngularJs中访问这些标头。我对'Accept-Language'特别感兴趣,但是'navigator.language'不是读取它的可靠选项(IE)。所以似乎没有办法得到它。谢谢。 – Nils 2014-09-23 07:04:59
你有尝试类似'var language = window.navigator.userLanguage || window.navigator.language;'?它也应该在IE中工作。 – 2014-09-23 13:32:51
不,不工作。它使系统语言不是Internet选项>语言中的首选语言。 http://www.thecodingforums.com/threads/save-way-to-detect-browser-language.99655/ – Nils 2014-09-23 13:38:13