1

これは .ajax() 呼び出しの私のコードです:

    $.ajax({
      type: "POST",
      url: "http://ws.geonames.org/searchJSON",
      dataType: "jsonp",
      data: {
        featureClass: "P",
        style: "full",
        maxRows: 12,
        name_startsWith: request.term
      }

上記の使用に加えて、上記のコードブロックtype:"POST"も使用してみました。$.ajaxSetup({type: "post"});

どちらの場合も、dataキーの値が URL に追加されています。パラメータのないクリーンな URL が必要です。このコードは実際にはオートコンプリート フィールドの一部であり、匿名関数にラップされ、source主要な jQueryUI の例のようにキーが与えられます。

: 実際の URL は重要ではありません。geonames が POST 要求をサポートしているかどうかはわかりませんが、後で変更される予定です。これは単なる例です。

4

2 に答える 2

3

次のようにパラメーターを追加するだけです。

url: "http://ws.geonames.org/searchJSON/" + param,

POST を強制したい場合は、jQuery.post()を試すことができます。

于 2012-07-08T00:45:27.510 に答える
2

JSONP データ型で POST 要求を行うことはできません。

JSONP<script>は、別のドメインから Javascript を実行するタグを作成することで機能します<script>。タグを使用して POST リクエストを送信することはできません。

andを指定するdataType: "jsonp"type: "POST"、"jsonp" が優先され、"GET" リクエストとして送信されます ("POST" は無視されます)。

于 2012-07-08T01:11:15.917 に答える