2011-12-18 105 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/