2011-12-18 122 views
2

我明顯錯過了jQuery,表單提交和AJAX。 PHP後端和JSON編碼工作正常。但是當表單被提交時,它就像 數據被提交兩次,並且進入表單的值是nulljQuery表單提交AJAX問題

這裏是我的腳本:

$(document).ready(function() { 
    var validated = $("#loginForm").validate({ 
     errorLabelContainer: "#errorMessage", 
     wrapper: "li", 
     rules: { 
      username: "required", 
      password: "required" 
     }, 
     messages: { 
      username: "Please enter your username.", 
      password: "Please enter your password." 
     }, 
     submitHandler: function (form) { 
      $.ajax({ 
       type: 'POST', 
       url: $(form).attr('action'), 
       data: $(form).serialize(), 
       dataType: 'json', 
       success: function (res) { 
        if (res.err == true) { 
         $("#errorMessage").text(res.msg); 
        } else { 
         window.location = res.url; 
        } 
       }, 
       error: function() { 
        $("#errorMessage").text("There was an error processing form."); 
       }, 
      }); 
     } 
    }); 
}); 
+0

你使用的是螢火蟲? ..'這就像數據是......'表明你沒有有效地監控你的XHR呼叫。 – 2011-12-18 19:00:03

+1

介意製作[jsfiddle](http://jsfiddle.net/)? – Tomas 2011-12-18 20:50:55

+0

頁面上有任何錯誤嗎?驗證插件是否正常工作?另外,'error'選項後面有一個語法錯誤(額外的逗號)。 – 2011-12-18 23:37:08

回答

0

我對此作了小提琴,似乎代碼應工作。在螢火蟲,我看到請求發送正確的所有表格日期。我注意到,如果dataType屬性被定義,響應的數據類型必須是正確的。

http://jsfiddle.net/7vtAw/