2016-03-21 5 views
4

が、これを使用してAJAXを行うことができ取得は問題ありか? $アヤックスで

$.ajax({ 
       type: 'POST', 
       url: 'http://localhost:3000/scrape', 
       data: json, 
       contentType: "application/json", 
       success: function(data,status){ 

       }, 
       async:false 
      }); 

私はhttp://localhost:3000/scrapeをロードすることはできません のXMLHttpRequestのエラーを得ました。プリフライト要求への応答がアクセス制御チェックを通過しない:要求されたリソースに「アクセス制御許可」がない。

私はそれらの両方が同じだと思いましたか?ここで何が問題なの?

答えて

4

最初の例では、application/x-www-form-urlencodedデータで簡単な要求をしています。

2番目の例では、単純な要求に対して許可されていないコンテンツタイプを指定しているため、preflighted requestをトリガーしています。

サーバーはPOST要求にうまく応答しますが、プリフライトOPTIONS要求には応答しません。

+0

興味深いことに、プリフライトリクエストをトリガするメリットは何ですか?それはより安全なのでしょうか? –

+1

@PaulFitzgerald - MDNで説明されているように、「クロスサイトリクエストは、ユーザーデータに影響を与える可能性があるため、このようにプリフライトされています。 – Quentin

関連する問題