Comment utiliser ajax pour envoyer des requêtes POST au serveur au lieu de GET?Comment utiliser POST avec ajax?
Répondre
on dirait que vous devriez vraiment vous asseoir et lire sur Ajax, si vous ne pouvez pas savoir comment passer d'une requête GET à un POST. C'est Ajax 101 choses:
Put POST comme premier argument à xmlhttp.open() en supposant que vous utilisez pur javascript:
xmlhttp.open('POST', 'example.php', true);
ne dois-je pas ajouter d'autres choses? et où vont les paramètres? –
Plus de détails (au moins un lien vers) aiderait sincèrement. En outre, toute indication de compatibilité entre les navigateurs. –
Vous pouvez le faire en utilisant jquery:
$.post("pageToPost.php", { firstParam: "Foo", secondParam: "Foo2" }, function(result){
alert("Response from pageToPost: " + result);
});
ce serait idéal si je n'utilisais pas jquery. –
Considérez cela comme une option valide Jcubed. IMHO Jquery, comme d'autres frameworks javascript sont de bons wrappers pour une grande fonctionnalité et la résolution des problèmes de cross-browsing. – Sebastian
Depuis que je pense que vous utilisez l'objet XHR directement, vous pouvez faire une fonction « postRequest » facilement:
Nous avons besoin de la demande url
, e les paramètres e à envoyer (params
), et au moins deux fonctions de rappel success
, qui reçoit le responseText comme premier argument lorsque la demande est achevée avec succès, et le rappel error
, qui reçoit l'objet XHR et la texte d'état:
function postRequest (url, params, success, error) {
var xhr = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") :
new XMLHttpRequest();
xhr.open("POST", url, true);
xhr.onreadystatechange = function(){
if (xhr.readyState == 4) {
if (xhr.status == 200) {
success(xhr.responseText);
} else {
error(xhr, xhr.status);
}
}
};
xhr.send(params);
}
@CMS: Votre ligne var xhr est défectueuse sur IE8/IE7 qui ont un support natif et ActiveX désactivé. L'ActiveX va lancer une erreur et il ignorera totalement le support natif. Pas bon car il pourrait encore faire un appel. C'est pourquoi il est important d'utiliser try catch que la plupart des bibliothèques ignorent. – epascarello
YUI connection manager serait également intéressant de jeter un oeil à comme une alternative à jQuery. En utilisant cela, vous pouvez effectuer une requête POST ajax comme suit:
YAHOO.util.Connect.asyncRequest('POST', 'php/post.php', callback, "new=1&old=2");
- 1. Comment utiliser getJSON, envoyer des données avec la méthode post?
- 2. Ajax POST méthode
- 3. Problème étrange avec jQuery ajax post
- 4. Comment utiliser jquery avec asp.net ajax
- 5. Utiliser ajax calendarextender avec mvc
- 6. Apprendre à utiliser AJAX avec CodeIgniter
- 7. GET vs POST à Ajax
- 8. jQuery ajax données post problème
- 9. jquery ajax Taille limite POST?
- 10. Comment utiliser jQuery AJAX $ .post pour stocker les variables PHP $ _SESSION?
- 11. Comment utiliser le "Post/Redirect/Get" alias "Redirect after Post" avec asp.net
- 12. comment utiliser Ajax dans JQuery
- 13. ajax question post URL à l'aide jquery
- 14. Comment offrir une réponse Ajax POST à l'utilisateur en téléchargement?
- 15. GET par rapport aux requêtes POST ajax: quand et comment utiliser?
- 16. Utiliser ASP.NET AJAX UpdatePanel avec des gestionnaires
- 17. Déclenchement d'un POST Ajax sur l'événement onblur()
- 18. Formulaire AJAX et/ou JQUERY POST?
- 19. ajax post pour le modèle django
- 20. Actualiser PartialView via jQuery après Ajax Post
- 21. Utiliser l'authentification Windows avec ASP.Net AJAX
- 22. Comment utiliser Pop-Ups modale avec ASP.Net MVC et AJAX?
- 23. Comment enregistrer une page avec $ .ajax()
- 24. Envoyer du code HTML via Ajax POST
- 25. Comment utiliser JQuery et Django (ajax + HttpResponse)?
- 26. Comment utiliser la commande POST pour envoyer un fichier?
- 27. GET/POST non-ajax en utilisant jQuery (plugin?)
- 28. Utiliser un ajax recharger avec un plugin Wordpress
- 29. Comment envoyer jquery $ .post avec l'alerte
- 30. Peut jquery ajax post retour plus de 1 variable?
Utilisez-vous une bibliothèque javascript particulière? Cela varie. – stimms