2013-02-22 126 views
-5

我有一個基本的AJAX請求,像這樣:與默認操作,然後再繼續執行AJAX請求

$.ajax({ 
     url: 'check_password.php', 
     type: 'post', 
     data: 'password='+password, 
     dataType: 'json', 
     success: function(json) { 
      if (json['success']) { 
       //Continue with default action 
      }else{ 
       //Password is invalid, stop the script and return an error 
       preventDefault(); 
       $(".error").show(); 
      } 
     } 
+2

和你的問題是....? – Colleen 2013-02-22 22:07:40

+0

我相信問題是「如何在提交表單之前從AJAX請求獲取響應」 – renab 2013-02-22 22:08:18

+1

如果不使用同步ajax,則通常不是好主意。 – 2013-02-22 22:09:45

回答

1

我建議,而不是防止默認的完全,然後通過提交表單(如果它是一個表格) .submit()在窗體節點上,從而繞過了jQuery事件處理程序。

$("#myform").on("submit",function(event){ 
    event.preventDefault(); 
    var form = this; 
    $.ajax({ 
     url: theurl, 
     type: "POST", 
     data: thedata 
     dataType: "json" 
    }).done(function(json){ 
     if (json.success) { 
      form.submit(); 
     } 
     else { 
      $("#error").show(); 
     } 
    });  
}); 
+0

對不起,這是遲到了,但感謝傾向於我在正確的方向,並抱歉蹩腳的書面問題,我發佈時很匆忙!再次感謝! – 2013-02-28 01:16:48

+0

@PeterStuart沒問題,很高興你能得到它的工作。 – 2013-02-28 02:56:30

相關問題