AngularJs - 向Request Header添加自定义参数

时间:2015-09-21 16:44:20

标签: angularjs http get http-headers cors

我在尝试发出GET请求时遇到了一些问题。

这就是我正在尝试的:

var config = {headers: {
        'Authorization': 'Basic ZGllZ28uY2FsYXphbnNAZ3J1cG9udC5jb20uYnI6MTIz',
         'grupont.auth.idescola':'409651',
         'grupont.auth.usercontext':'blahblah@blah.com.br'

     }
$http.get('http://localhost:8585/api/rest/contratosAdesao/cursosConsoleTO/29526757', config).success(function(){}).error(function(){});

<小时/> 我正试图从服务器获取一些基本信息。这是请求标题:

Accept:*/
Accept-Encoding:gzip, deflate, sdch
Accept-Language:en-US,en;q=0.8
Access-Control-Request-Headers:accept, authorization, get,grupont.auth.idescola, grupont.auth.usercontext
Access-Control-Request-Method:GET
Cache-Control:no-cache
Connection:keep-alive
Host:localhost:8585
Origin:127.0.0.1:43013
Pragma:no-cache
Referer:127.0.0.1:43013/cursos.html
User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.93 Safari/537.36

我也将其作为一般标题:

Request Method:OPTIONS
Status Code:401 Unauthorized

grupont.auth.idescolagrupont.auth.usercontext已添加到Access-Control-Request-Headers

有谁知道它发生了什么?我正在尝试对服务器进行CORS调用,我需要在Request Header上发送一些参数。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

因此,如果其他人遇到同样的问题,问题在于服务器(jboss)对CORS请求的响应。它必须正确响应预检OPTIONS请求。

如果我在标题请求中发送带有这些参数的GET请求:

'withCredentials':true,
'Authorization': 'Basic ZGllZ28uY2FsYXphbnNAZ3J1cG9udC5jb20uYnI6MTIz',
'grupont.auth.idescola':'409651',
'grupont.auth.usercontext':'blahblah@blah.com.br'

服务器需要回复:

Access-Control-Allow-Headers:grupont.auth.idescola,grupont.auth.usercontext,withCredentials,authorization
Access-Control-Allow-Origin:*
Allow:GET, OPTIONS, HEAD

然后这个过程可以继续。

希望它有所帮助。