簡體   English   中英

從表單提交函數中進行jQuery AJAX調用

[英]Making a jQuery AJAX call from within a form submit function

長話短說:

  1. 我有一個HTML表單,其中一個jQuery函數附加到onSubmit事件。
  2. 在onSubmit函數內部,我需要進行一次AJAX調用,並根據響應更新表單元素。

示例代碼:

$("#theForm").submit(function() {
    $.ajax({
        url: theUrl,
        type: "POST",
        data: theData
    }).done(function(theResponse) {
        $("#someInput").val(theResponse)
        $("#theForm").submit()  // [2] Submit the form now
    }).fail(function(jqXHR, textStatus) { 
        alert("Failure") 
    })
    return false  // [1] Prevent submission prior to AJAX call completing
})

我的問題是,這會產生無限循環。

此函數的最外層返回false ,以防止在AJAX調用完成之前提交表單。 在AJAX調用成功完成后,我試圖在done()處理程序中實際提交表單。 但是,這只是遞歸地調用整個onSubmit函數。

如何在onSubmit處理程序中嵌套一個AJAX調用...這樣決定是否允許提交是由嵌套的AJAX函數驅動的,而不是它的封閉處理函數?

您的[2]部分需要直接在表單上進行。

$("#theForm")[0].submit()

這將繞過jQuery綁定事件。

暫無
暫無

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

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