0

私が取り組んでいるプロジェクトにはたくさんのフォームがあります。

すべてのフォームはほとんど AJAX を経由します。

    $.ajax({
        type: "GET",
        cache: false,
        url: $(this).attr("action"),
        data: ???,
        success: function(msg){
        }
    });

これらの POST を傍受し、代わりに AJAX を介して実行できるようにしたいと考えています。

コードは、再利用されるメソッドに書き込まれます。

問題は、渡される予定のすべてのデータを選択し、それをクエリ文字列に変換してdata: ???,パーツに挿入するにはどうすればよいかということです。

ありがとう

4

2 に答える 2

2

submitイベントをインターセプトする必要があります。<form>要素にイベント ハンドラーをバインドします。false発生した場合は、そのイベント ハンドラー内から戻ることで、その伝達と既定の動作を停止します。

.ajax()これで、そのハンドラーでリクエストを作成できます。フォーム データのシリアル化されたフォームをクエリ文字列に作成する.serialize()には、そのフォームでも jQuerys メソッドを使用します。

例えば:

$('#myFormId').on('submit', function( event ) {
    $.ajax({
        type: "GET",
        cache: false,
        url: $(this).attr("action"),
        data: $(this).serialize(),
        success: function(msg){
        }
    });

    return false;
});

または、次のようにすべてのフォームを処理する委任イベントとして作成するだけです

$(document).on('submit', 'form', function( event ) {
});
于 2012-07-31T23:27:20.553 に答える
1

シリアル化メソッドを使用します:

http://api.jquery.com/serialize/

于 2012-07-31T23:28:06.513 に答える