2016-10-14 19 views
1

私はangle2 httpを使用して簡単な投稿要求を出しています。Angular2ヘッダーが正しく設定されていません

問題は、ヘッダーが正しく設定されていないことです。その代わり、私が得るすべてのコンテンツの種類と許可を設定する。ここ

Accept:*/* 
Accept-Encoding:gzip, deflate, sdch, br 
Accept-Language:en-US,en;q=0.8 
Access-Control-Request-Headers:authorization, content-type 
Access-Control-Request-Method:POST 
Connection:keep-alive 
Host:api.joinmunch.com 
Origin:http://localhost:8100 
Referer:http://localhost:8100/ 
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36 

この

であることはここに私のコード

let bodyString = JSON.stringify(user); // Stringify payload 
    let headers  = new Headers({ 'Content-Type': 'application/json' }); // ... Set content type to JSON 
    headers.append('Authorization', 'bearer MY_AUTH_TOKEN'); 

    let options  = new RequestOptions({ headers: headers }); // Create a request option 
    options.withCredentials = true; 

    return this.http.post(this.baseUrl + 'customer/register', bodyString, { headers: headers }) // ...using post request 
         .map((res:Response) => res.json()) // ...and calling .json() on the response to return data 
         .catch((error:any) => Observable.throw(error.json().error || 'Server error')); //...errors if an 

あるだけだレスポンスヘッダ

HTTP/1.1 401 Unauthorized 
Server: nginx 
Date: Fri, 14 Oct 2016 16:03:36 GMT 
Content-Type: application/json; charset=utf-8 
Transfer-Encoding: chunked 
Connection: keep-alive 
Access-Control-Allow-Origin: * 
Access-Control-Allow-Methods: GET, POST, PUT, DELETE 
Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept 

​​

答えて

0

です実際のリクエストではなく、CORSプリフライトリクエスト。あなたはそれはあなたが

を設定し、ヘッダーですcontent-typeauthorizationヘッダを、受け入れるかどうプリフライトリクエストがサーバーを求めている

Access-Control-Request-Headers:authorization, content-type 

この

からヘッダーが実際の要求に応じて設定されることを伝えることができますCORSについて知らない場合は、リンクをチェックしてください。おそらく、 実際のの問題を解決するのに役立つかもしれません。なぜなら問題はヘッダーが設定されていないためではないからです。

+0

なぜ私は401が承認されないのですか?このCORSの問題ですか? – casper123

+0

おそらくCORSには関係しません。応答には何が入っていますか?すべてをチェックしてください。おそらく、問題の内容を示す情報があります。コンソールをチェックしてください。あなたは何を見ますか?あなたは実際の要求がなされているのを見ますか?問題が何であるかを私の側で言うのはちょっと難しいです。それはいくつでもありえます。しかし、一般的に401はあなたが許可されていないことを意味し、私は知らないかもしれない悪質な資格を持っています –

+0

リクエストからの応答を見てください。私はちょうど質問によって更新した – casper123

関連する問題