Soumettre un formulaire et obtenez une réponse JSON avec jQuery
J'espère que cela est facile, mais je ne suis pas à trouver une explication simple de la façon de faire. J'ai une formulaire HTML comme ceci:
<form name="new_post" action="process_form.json" method=POST>
<label>Title:</label>
<input id="post_title" name="post.title" type="text" /><br/>
<label>Name:</label><br/>
<input id="post_name" name="post.name" type="text" /><br/>
<label>Content:</label><br/>
<textarea cols="40" id="post_content" name="post.content" rows="20"></textarea>
<input id="new_post_submit" type="submit" value="Create" />
</form>
J'aimerais avoir javascript (à l'aide de jQuery) soumettre le formulaire à l'action du formulaire (process_form.json), et de recevoir une réponse JSON à partir du serveur. Puis je vais avoir une fonction javascript qui s'exécute en réponse à la réponse JSON, comme
function form_success(json) {
alert('Your form submission worked');
//process json response
}
Comment puis-je associer le formulaire de soumission bouton pour appeler mon form_success méthode lorsqu'il fait? Il doit aussi remplacer le navigateur propre à la navigation, car je ne veux pas quitter la page. Ou devrais-je déplacer le bouton de la forme pour le faire?
Vous devez vous connecter pour publier un commentaire.
Si vous souhaitez obtenir une réponse dans un rappel, vous ne pouvez pas poster le formulaire. Affichage de la forme signifie que la réponse est chargé comme une page. Vous devez obtenir les données d'un formulaire dans les champs du formulaire et de faire une requête AJAX.
Exemple:
Avis que vous avez à rendre
false
de la méthode qui gère l'événement submit, sinon le formulaire sera affiché aussi.Si vous avez besoin de POSTER la demande d'utilisation jQuery.post() passage de la quatrième argument "json"
Guffa a été plus rapide que moi 🙂
Avez-vous essayé d'utiliser
.getJSON()
et.serialize()
?return false
à la soumettre de rappel.