1

エラスティック検索で正確な結果が返されなかったため、先週別の投稿を開きました。ElasticSearch の投稿を参照してください。

基本的に何が起こっていたかというと、jsonp を使用しているときに、リクエストが実際には POST リクエストではなく GET リクエストとして送信されていないということでした。以下はjsonpリクエストです。json を使用すると、実際には POST として送信されます。

   amplify.request.define("searchPostRequest", "ajax", {
        url: "http://leServer:9200/people/person/_search",
        type: "POST",
        dataType: 'jsonp',
        contentType: 'application/json'
    });

jsonp を強制的に POST リクエストとして送信する方法を知っている人はいますか?

4

1 に答える 1

2

JSONP はスクリプト タグをページに追加することで機能するため、POST を使用して別のドメインまたは同じドメインに JSONP 呼び出しを行うことはできません。XMLHttpRequest を作成していません。

同じドメインのデータを投稿したい場合は、サーバーに対して通常の POST ajax 呼び出しを行い、JSON を返すだけです。

クロスドメイン呼び出しの場合: 他のドメインを制御していて、最新のブラウザーのみを気にする場合は、 CORSを使用できます。そうでない場合は、サーバーでプロキシを使用して投稿要求を行う必要があります。これらのソリューションはどちらも、JSONP ではなく JSON 呼び出しを行うことになります。

于 2013-01-22T14:19:16.427 に答える