設置頁眉的作品時,我通過gradle這個建設項目的war並將其部署到Tomcat,但由於某些原因,當我旋轉起來的WebPack發展的服務器進行測試,我得到的錯誤:爲什麼在webpack開發過程中不能使用angular2/http設置標題?
EXCEPTION: SyntaxError: Failed to execute 'setRequestHeader' on
'XMLHttpRequest': 'Bearer xxx.yyy.zzz' is not a valid HTTP header field value.
in [null] (browser_adapter.ts:73).
令人沮喪的事情這是一直間歇的。首先,我有一個只有'xxx.yyy'的智威湯遜,它的工作。然後突然它沒有。然後我意識到我可能需要包含一個假簽名。所以我把它改爲'xxx.yyy.zzz',它工作!然後突然它沒有。然後,我想也許假簽名仍然是JWT其餘部分的適當長度。所以我增加了長度,並且它工作。現在它不。
這裏是我的DEV-代理settings.js:
module.exports = {
settings: {
'/*': {
target: 'http://localhost:3000/',
headers: {
"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Methods": "GET, POST",
"Access-Control-Allow-Headers": "Content-Type, Authorization"
}
}
}
};
這裏是我使用angular2/HTTP
import {Headers, Http, RequestMethod} from 'angular2/http';
import {RequestOptions, Response} from 'angular2/http';
...
var headers = new Headers({
'Content-Type': 'application/json',
'Authorization': 'Bearer xxx.yyy.zzz'
});
var options = new RequestOptions({
headers: headers,
method: RequestMethod.Get,
url: '/some/url'
});
let httpResponse = this.http.request(options.url, options).map(...);
我缺少的東西的?
聽起來類似https://github.com/danialfarid/ng-file-upload/issues/98,http://stackoverflow.com/questions/31823781/angularjs-oauth-error-failed-to- execute-setrequestheader-on-xmlhttprequest –
您是否真的嘗試將'xxx.yyy.zzz'作爲承載令牌值,或僅使用生成的值。生成的值可能包含無效字符。 –
我用'承載eeeeeeeeeeeeeeeeeeeee.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy.blablablafakesignatureblablablanotrealblabl'。我改變的唯一部分是簽名,但剩下的部分由我的服務器代碼生成,當我實際部署它時,該代碼會生效。但由於某種原因,當我使用dev-proxy-server時會失敗。 – SnoopDougg