2011-12-18 3 views
2

Je suis évidemment manquant quelque chose avec jQuery, soumission de formulaire et AJAX. Le back-end PHP et le codage JSON fonctionnent bien. Mais lorsque le formulaire est soumis, il est comme les données sont soumises deux fois et les valeurs entrant dans le formulaire sont null.soumission de formulaire jQuery numéro AJAX

Voici mon script:

$(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

utilisez-vous firebug? .. 'c'est comme si les données sont ...' suggère que vous ne surveillez pas efficacement vos appels XHR. –

+1

esprit faisant un [jsfiddle] (http://jsfiddle.net/)? – Tomas

+0

Vous avez des erreurs sur la page? Le plugin validate fonctionne-t-il? En outre, vous avez une erreur de syntaxe (virgule supplémentaire) après l'option 'error'. –

Répondre

0

Je fis un violon de cela et il semble que le code devrait fonctionner. Dans le firebug j'ai vu que la demande est envoyée correcte avec toutes les date du formulaire. J'ai remarqué que si la propriété dataType est définie, le type de données répondu doit être correct.

http://jsfiddle.net/7vtAw/

Questions connexes