我設置我的頭和HTTP調用是這樣的:角2 HTTP不設頭
var headers = new Headers();
headers.set('Authorization','Bearer xxxxxxxxxxx');
this.http.get('http://localhost:8080/outputEndpoints', {
headers: headers
}).
map(res => res.text())
.subscribe(
data=> console.log(data),
error=> console.log("Getting Error")
);
有了這個,我預期的標題是:
Accept:*/*
Accept-Encoding:gzip, deflate, sdch, br
Accept-Language:es,ca;q=0.8,en-GB;q=0.6,en;q=0.4,fr;q=0.2
Access-Control-Request-Headers:authorization, content-type
Authorization: "Bearer xxxxxxxxxxxx"
Access-Control-Request-Method:GET
Connection:keep-alive
Host:localhost:8080
Origin:http://localhost:3000
Referer:http://localhost:3000/
User-Agent:Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36
相反,我得到以下(不與令牌授權):
Accept:*/*
Accept-Encoding:gzip, deflate, sdch, br
Accept-Language:es,ca;q=0.8,en-GB;q=0.6,en;q=0.4,fr;q=0.2
Access-Control-Request-Headers:authorization, content-type
Access-Control-Request-Method:GET
Connection:keep-alive
Host:localhost:8080
Origin:http://localhost:3000
Referer:http://localhost:3000/
User-Agent:Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36
編輯:
一般的信息是:
Request URL:http://localhost:8080/outputEndpoints
Request Method:OPTIONS
Status Code:401
Remote Address:[::1]:8080
因此選項調用失敗。在其他應用程序中,一旦OPTIONS調用被接受,它就會發出GET請求,您可以在其中找到設置的身份驗證令牌。這意味着由於某種原因,OPTION稱它不被接受。
使用CURL或SOAP UI進行調用時,它工作正常,所以我認爲它不是CORS的問題。我是對的?
任何想法或指導將是非常有益的。
你找到解決辦法嗎?同樣的問題在這裏 – stackdave