$ (“#”). Soumettre avec Ajax rafraîchissant la page

Je ne sais pas quel est le problème, car ce code fonctionnait bien quelques temps auparavant. J’essaie de soumettre mon formulaire en utilisant Ajax et Ajax mon code.

Code Ajax

  $(function() { $("#login").submit(function() { $('#signinPane').showLoading(); $("#loginError").hide(); var data = $(this).serializeObject(); $.ajax({ 'type': "POST", 'url': "", 'data':data, 'success': function(result) { } }); return false; }); }); 

Code HTML

 

Mon problème est que, lorsque je clique sur le bouton d’envoi, la page est actualisée et aucun appel Ajax n’est soumis. Pas sûr de ce qui se passe.

Je pense que vous devez appeler preventDefault sur l’object event.

Renvoyer false est acceptable lorsque vous êtes dans le gestionnaire JS vanilla, et vous ne l’êtes pas.

Essayez de passer l’événement en tant que paramètre, puis en appelant e.preventDefault()

jsfiddle Documentation

 $(function() { $("#login").submit(function(e) { e.preventDefault(); $('#signinPane').showLoading(); $("#loginError").hide(); var data = $(this).serializeObject(); $.ajax({ 'type': "POST", 'url': "", 'data':data, 'success': function(result) { } }); }); }); 

utilisation

 event.preventDefault(); $("#login").submit(function(event) { event.preventDefault(); $('#signinPane').showLoading(); 

Cela empêchera les caractéristiques de soumission de formulaire par défaut.

Essayer:

 $("#login").submit(function(e) { e.preventDefault(); e.stopPropagation(); 

http://api.jquery.com/event.preventDefault/

http://api.jquery.com/event.stopPropagation/