API : http://api.jquery.com/jQuery.post/
La méthode .post()
permet d'envoyer des données.
Par exemple, vous pouvez l'utiliser pour envoyer des données saisies dans un formulaire.
La méthode consiste à envoyer des données vers un fichier Php qui se chargera de les transmettre au serveur. Cette méthode peut également retourner des informations en callback dans la page.
$.post('send.php',
{
name: 'Jean-Michel',
email: '[email protected]'
}, function(data) {
alert(data);
});
$.get( url, data, function(data,status,xhr), dataType );
Paramètre | Description |
---|---|
url | Requis Une chaîne contenant l'URL vers laquelle la demande est envoyée |
data | Optionnel Spécifie les données à envoyer vers le serveur en même temps que la demande |
function(data,status,xhr) | Optionnel Indique une fonction à exécuter lorsque la méthode est terminée Paramètres supplémentaires : - data - contient les données résultant de la demande - status - contient l'état de la demande ("success", "notmodified", "error", "timeout", ou "parsererror") - xhr - contient l'objet XMLHttpRequest |
dataType | Optionnel Spécifie le type de données attendu. Par défaut jQuery effectue une estimation automatique (xml, json, script, ou html) |
Dans l'exemple suivant, nous envoyons une requête permettant de faire une recherche puis nous affichons le résultat de la recherche.
Cet exemple ne contient pas le fichier PHP de traitement (ce n'est pas le sujet de ce cours).
<form action="/" id="searchForm">
<input type="text" name="s" placeholder="Rechercher…">
<input type="submit" value="Ok">
</form>
<div id="result"></div>
$('#searchForm').submit(function(event) {
// Stop la propagation par défaut
event.preventDefault();
// Récupération des valeurs
var $form = $(this),
term = $form.find( "input[name='s']" ).val(),
url = $form.attr( "action" );
// Envoie des données
var posting = $.post( url, { s: term } );
// Reception des données et affichage
posting.done(function(data) {
var content = $(data).find('#content');
$('#result').empty().append(content);
});
});