2017-09-12 4 views
0

これは本当によくあるトピックで、私は既にstackoverflowに関する多くの質問をチェックしています。しかし、私の場合は、私が問題を起こさないので、一種の違いです。基本的に、私はCORSを扱う方法を知っており、私はすでに多くのソリューションを試していました。プリフライト応答のAccess-Control-Allow-MethodsのためにPUTリクエストを送信できません

私は状況を説明してみましょう:

私のセットアップは、HTTP要求を経由して送信イオンプロジェクト(ローカルホスト上)、PUTで​​ある私の自己にはDirectusヘッドレス-CMSを開催しました。 GETとPOSTは完全に機能します。 私は郵便配達でリクエストを試みると、とてもうまく動作します。私は、Postmanがリクエスト内で自動的に追加ヘッダーを送信することを知っています。私は自分のコードにもそれらを追加しようとしましたが、同じresponeメッセージです。

これは私が要求をしようとした後、このメッセージが表示されますイオン

以内に私のブラウザコンソールで
var jsonbody = {}; 
    jsonbody['german'] = "lorem ipsum"; 
    jsonbody['turoyo'] = "lorem ipsum"; 
    jsonbody['description'] = "lorem ipsum"; 
    console.log(jsonbody); 

    this.http.put('http://example.com/api/1.1/tables/translation/rows/1?access_token=myaccesstoken', jsonbody, {headers: headers}) 
    .subscribe(
     (response) => { 
     //foo 
     }, 
     (error) => { 
     //bar 
     }, 
    () => { 
     //foobar 
     } 
    ); 

私の応答コードスニペットです:

XMLHttpRequestがhttp://example.com/api/1.1/tables/translation/rows/1?access_token=myaccesstokenをロードすることはできません。メソッドPUTは、プリフライト応答のAccess-Control-Allow-Methodsによって許可されていません。

郵便配達員では、風邪のように動作します。あなたはまた、その要求のために応じてコードスニペットを生成するためのポストマンでの可能性を持っている

enter image description here

見えます。この場合、それはです:

enter image description here

誰も私が間違って何をしたかのアイデア?たぶん、私はちょうど詳細を欠場した。また、nginxサイト対応の設定にヘッダーを追加しようとしました。しかし、それは違いはありませんでした。しかし、それは私には意味がありません。なぜなら、郵便配達員はリクエストを送信したからです。

ありがとうございます!

+1

:PUT' – SLaks

+0

あなたは、同じドメイン名に誤りがローカルページとAPIの両方を実行できる場合それ以外の場合はnginxでCORSを設定する必要があります –

+0

私が言ったように:それは私がPostman(https://www.getpostman.com/)でリクエストを行うときに機能します。これは、サーバーが要求を処理できることを意味します。または私は間違っていますか? – ChrisBenyamin

答えて

0

/[directus]/api/.htaccessファイルにCORS設定を追加しましたか?あなたは飛行前に対処し、 `アクセス制御 - 許可 - メソッドを返すようにサーバーを構成する必要があります

Header add Access-Control-Allow-Origin "*" 
Header add Access-Control-Allow-Methods: "GET,POST,OPTIONS,DELETE,PUT" 
関連する問題