2017-08-28 4 views
0

私はAPIにPOSTリクエストを作成しようとしていると私はこのエラーを受けています:角度2のXMLHttpRequest

のXMLHttpRequestは、httpをロードすることはできません:// *。プリフライトの応答に無効なHTTPステータスコード400 しかし、私がGETリクエストをしようとすると、動作します。

マイgetメソッド:

getMethod() { 
    return this.http.get<PerfilModel[]>(globals.BASE_URL + 'perfis'); 
} 

私のポスト方法:

updateMethod(changePass: ChangePassModel) { 
    let h = new Headers(); 
    h.append('Content-Type', 'application/json'); 

    return this.http2.post(globals.BASE_URL + 
          'users/passwords/redefinitions/' + 
          changePass.key, JSON.stringify(changePass),  
          { headers: h } 
          ).map(res => res.json); 
} 

観察:プラグイントグルCORSがアクティブになっています。

答えて

1

HTTP 400 Bad Request応答ステータスコードは、サーバーが無効な構文のため要求を理解できなかったことを示します。クライアントは変更を加えずにこの要求を繰り返すべきではありません。

サーバー側でpostメソッドを許可している可能性があります。 CORSは、プラグインがバックエンドで有効化されて切り替えた場合

+0

私が知っているところでは、サーバー側はC#で、要求を許可するためにサーバー側でどのような構成が必要なのか分かりますか? –

+0

私は、バックエンドで作業していないと思います。親切にあなたのバックエンド人(サーバー側)とチェックを確認 –

1
globals.BASE_URL + 'users/passwords/redefinitions/' + changePass.key + '/' 

、あなたのURLが最後に「/」を逃し、あなたは

+0

あなたの解決策を試しても、同じエラーが発生しました。 –

+0

バックエンドコアーヘッダーの設定を追加できますか? – Robert

+0

認証、認証、トークン、アクセストークン、アクセストークン、アクセストークン、コード –

0

問題は、ブラウザの同一生成元ポリシーにあったので、私は無効になっていることを確認することができますフラグ付きのセキュリティ:-args --disable-web-security --user-data-dir = ""それは働いていました。