簡體   English   中英

等到使用jQuery / Javascript完成

[英]Wait till for completes using jQuery / Javascript

我如何才能使此代碼等待表單得到響應。 表單必須先提交才能遞歸,然后才能繼續收到遞歸的答復。

如果有一種方法可以確保有一個響應,那就有點像成功:或錯誤:

$("#pay_window").dialog({
           autoOpen: false,
           width: 600,
            buttons: {
                "Submit Payment": function(){
                    $("#PaymentForm").submit();



                 <--- NEED A WAIT FUNCTION HERE --->



                    var dialogbox = $(this);
                    $.ajax({
                        url: "/payment",
                        data: $(this).find([company_id, billing_email, first_name, last_name, recurly_token, selected_plan, account]).serialize(),
                        type: "POST",
                        success: function (data) {
                            dialogbox.dialog("close");
                            alert('Payment Completed')

                        },
                        error: function (jqXHR, textStatus, errorThrown) {
                            alert('error: ' + textStatus + ': ' + errorThrown);
                        }
                    });
                    return false;
                }
            }
        });

表單提交與由表單的“ action”屬性指定的端點(或包含表單的頁面)的發布本質上是相同的。 您可以收集表單數據並發布(通過jQuery遞歸),然后使用jQuery的Deferred對象方法(“ then”,“ done”,“ fail”等)或使用$ .ajax和成功/錯誤選項...保證這在IE 7/8/9中不起作用(無法訪問FormData對象)。

考慮到這種相當簡單的形式:

<form id="foo" action="http://example.com/" method="POST">
    <input type="hidden" name="q" value="a">
</form>

可以獲取輸入並創建一個“ FormData”對象:

var $foo = $('#foo'),
    formData = new FormData($foo[0]),


$.ajax({
    url: $foo.attr('action'),
    data: formData,
    type: "POST",
    success: function (data) {
        /* do what you want */},
    error: function (jqXHR, textStatus, errorThrown) {
        /* do what you've got to */ }
 });

暫無
暫無

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

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