簡體   English   中英

jQuery.ajax:如何獲取易於發送的數據?

[英]jQuery.ajax: How do I get the data to send easily?

我正在從事的項目有很多表格。

所有形式幾乎都通過AJAX進行。

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

我希望能夠攔截這些POST,而通過AJAX運行它們。

該代碼被寫入將被重用的方法中。

因此,問題是:如何選擇將要傳遞的所有數據,將其轉換為查詢字符串,然后將其插入data: ???,部分。

謝謝

您需要攔截submit事件。 <form>元素上綁定事件處理程序。 遇到這種情況時,可通過從該事件處理程序中返回false來停止其傳播及其默認行為。

現在,您可以在該處理程序中創建您的.ajax()請求。 要將表單數據的序列化表單創建為查詢字符串,請在該表單上也使用jQuerys .serialize()方法。

例如:

$('#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 ) {
});

使用序列化方法:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM