8

jQuery AJAXリクエストでGETおよびPOSTパラメータを同時に送信する方法は?

に追加しようとして do=ajax&id=" + IDurlますが、結果としてリクエストはsss.phpクエリ文字列なしでのみサンドされました(部分を取得)。ありがとう。

$.ajax({
    url: "sss.php?do=ajax&id=" + ID ,
    type: "post",
    data: "ddd=sss",
    // callback handler that will be called on success
    success: function(response, textStatus, jqXHR){
        // log a message to the console
        console.log("Hooray, it worked!");
    },
    // callback handler that will be called on error
    error: function(jqXHR, textStatus, errorThrown){
        // log the error to the console
        console.log(
            "The following error occured: "+
            textStatus, errorThrown
        );
    }
});
4

1 に答える 1

9

観測エラーが発生しているか、jQuery ではなくサーバー側の問題が発生していると思います。私がこのような投稿をするとき:

$.ajax({
  url: "http://jsbin.com/eduzif/1?foo=bar",
  type: "post",
  data: "baz=doh",
  success: function() {
    display("Done, look at your console's network tab");
  }
});

...クエリ文字列と POST データの両方がサーバーに送信されます。Chrome や Firefox などの最新のブラウザーを使用し、投稿をトリガーした後にコンソールの [ネットワーク] タブを見ると、これを簡単に確認できます。私の場合:

クエリ文字列とフォーム データの両方を含む投稿を示す画像

(上記のサーバーが 403 で応答したことは無視してかまいません。JSBin は POST を許可していませんが、サーバーに送られる要求に表示される内容には影響しません。)

したがって、ここでの答えは次のとおりです。サーバー側でデータを取得する方法を再確認してください。URL のパラメーター (「GET」スタイルのパラメーター) は、クエリ文字列パラメーター (URL の一部) として使用できます。「POST」スタイルのパラメーターは、「フォーム」データ (応答の本文など) として使用できます。使用しているサーバー側のテクノロジに応じて、通常、GET (クエリ文字列) パラメーターと POST (フォーム データ/本文) パラメーターを取得する方法が異なります。

于 2012-10-01T20:34:25.053 に答える