如何在Angular2 RC6中的HTTP请求中添加头文件?
我得到以下代码:
我得到以下代码:
login(login: String,password: String): Observable<boolean> { console.log(login); console.log(password); this.cookieService.removeAll(); let headers = new Headers(); headers.append("Authorization","Basic YW5ndWxhci13YXJlaG91c2Utc2VydmljZXM6MTIzNDU2"); this.http.post(AUTHENTICATION_ENDPOINT + "?grant_type=password&scope=trust&username=" + login + "&password=" + password,null,{headers: headers}).subscribe(response => { console.log(response); }); //some return }
问题是,那个角度不会添加授权头.而不是这样,请求中可以看到以下附加标题:
Access-Control-Request-Headers:authorization Access-Control-Request-Method:POST
和sdch在Accept-Encoding中添加:
Accept-Encoding:gzip,deflate,sdch
我的代码发出的整个请求如下所示:
OPTIONS /oauth/token?grant_type=password&scope=trust&username=asdf&password=asdf HTTP/1.1 Host: localhost:8080 Connection: keep-alive Pragma: no-cache Cache-Control: no-cache Access-Control-Request-Method: POST Origin: http://localhost:3002 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/52.0.2743.116 Safari/537.36 Access-Control-Request-Headers: authorization Accept: */* Referer: http://localhost:3002/login Accept-Encoding: gzip,sdch Accept-Language: en-US,en;q=0.8,pl;q=0.6
好.我发现问题.
原文链接:https://www.f2er.com/angularjs/140418.html这不是在角度.说实话,根本没问题.
为什么我无法成功执行我的请求的原因是我的服务器应用程序没有正确处理OPTIONS请求.
为什么选择,而不是POST?我的服务器应用程序是在不同的主机,然后前端.由于CORS我的浏览器正在将POST转换为OPTION:
http://restlet.com/blog/2015/12/15/understanding-and-using-cors/
借助这个答案:
Standalone Spring OAuth2 JWT Authorization Server + CORS
我在我的服务器端应用程序上实施了正确的过滤.
感谢@Supamiu – 指着我的人,我根本没有发送POST.