Comment puis-je utiliser javascript pour envoyer un message à sens unique à php? Je voudrais obtenir les informations du navigateur de javascript et juste l'envoyer à php en arrière-plan. Je sais que je peux en avoir un peu avec php, mais je préfère utiliser javascript. Y at-il un moyen de le faire sans un cadre comme jquery?javascript envoyer un message à sens unique à php
Répondre
Oui, vous pouvez le faire avec quelque chose comme ceci:
function xmlhttpPost(strURL) {
var xmlHttpReq = false;
var self = this;
// Mozilla/Safari
if (window.XMLHttpRequest) {
self.xmlHttpReq = new XMLHttpRequest();
} else if (window.ActiveXObject) {
// IE
self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
}
self.xmlHttpReq.open('POST', strURL, true);
self.xmlHttpReq.onreadystatechange = function() {
if (self.xmlHttpReq.readyState == 4) {
alert('Here goes something');
self.xmlHttpReq.send('browser info here');
}
}
}
Ceci enverra « info navigateur ici » comme POST dans la page php vous passez à la fonction comme URL. Je ne l'ai pas testé si
vous ne devriez pas utiliser '" Microsoft.XMLHTTP "' - voir par exemple http://blogs.msdn.com/b/xmlteam/archive/2006/ 10/23/en utilisant-la-bonne-version-de-msxml-in-internet-explorer.aspx; Je suggère d'écrire un petit wrapper comme http://mercurial.intuxication.org/hg/js-hacks/raw-file/tip/xmlhttprequest.js afin que vous puissiez utiliser 'new XMLHttpRequest()' cross-browser; aussi, votre utilisation de 'self' est douteuse car' this' sera 'window' si' xmlhttpPost' est appelée sans 'new' – Christoph
Je n'aime pas mettre du code ici qui résoudra tous les problèmes, plutôt pointer les gens dans la bonne direction . J'ai écrit ce code de mémoire et je l'ai utilisé une fois, il y a longtemps dans un de mes premiers projets et ça a fonctionné à ce moment-là ... Je n'ai jamais dit ça preuve d'eau puisque je l'ai écrit de mémoire. Je préférerais jQuery sur cette approche quand même. – realshadow
Vous devez soumettre une requête AJAX à un script PHP. Oui, vous pouvez le faire sans utiliser de cadre, mais je ne le conseillerais pas.
Vous devez faire un appel AJAX à une page PHP, de préférence en utilisant POST. Toutes les données que vous souhaitez envoyer doivent être envoyées avec la demande.
Je recommande d'utiliser un cadre tel que jQuery, mais si vous insistez sur l'utilisation de JavaScript brut, vous voulez rechercher XMLHttpRequest.
// fix for older IE versions
// see http://blogs.msdn.com/b/xmlteam/archive/2006/10/23/using-the-right-version-of-msxml-in-internet-explorer.aspx
if(typeof window.XMLHttpRequest === 'undefined' &&
typeof window.ActiveXObject === 'function') {
window.XMLHttpRequest = function() {
try { return new ActiveXObject('Msxml2.XMLHTTP.6.0'); } catch(e) {}
try { return new ActiveXObject('Msxml2.XMLHTTP.3.0'); } catch(e) {}
return new ActiveXObject('Microsoft.XMLHTTP');
};
}
function postData(url, data, errhandler) {
var req = new XMLHttpRequest;
req.onreadystatechange = function() {
if(this.readyState === 4 && this.status !== 200 && errhandler)
errhandler(this);
};
try {
req.open('POST', url, true); // async post request
req.send(data);
}
catch(e) {
if(errhandler)
errhandler(req);
}
}
- 1. Mapper un ManyToMany à sens unique?
- 2. Envoyer un message à l'application .NET à partir de javascript?
- 3. Comment envoyer un message à un objet?
- 4. Envoyer un message à plusieurs réseaux sociaux
- 5. Envoyer un message à un objet
- 6. Comment envoyer un message à un service?
- 7. Envoyer un message à un thread différent
- 8. Envoyer un message à Twitter crée un message d'erreur
- 9. Envoyer un mail à php
- 10. Envoyer un tableau PHP json_encode à jQuery
- 11. Envoyer un message de SAP à MSMQ
- 12. Envoyer un message XML à Amazon SQS
- 13. ActionResult devez envoyer un message à afficher
- 14. WCF: problèmes avec les rappels à sens unique
- 15. SunRPC permet la messagerie à sens unique (streaming/batching?)
- 16. Envoyer un e-mail à jQuery/PHP
- 17. Envoyer des emails à plusieurs utilisateurs en utilisant PHP/Javascript
- 18. Envoyer un message à partir du site Web personnel - possible?
- 19. Envoyer ByteArray à JavaScript
- 20. Envoyer un message via un port client particulier à distance
- 21. Supprimer un message unique MSMQ
- 22. Comment envoyer un contrôle d'asp à javascript
- 23. Envoyer des messages à un script PHP sur un serveur
- 24. envoyer des données à un script PHP
- 25. Envoyer Div ID à javascript via onclick
- 26. Delphi - Comment envoyer un message Windows à TDataModule?
- 27. Envoyer un message à une machine qui est éteinte
- 28. Envoyer un message xmpp à l'aide d'une bibliothèque python
- 29. django + xmppy: envoyer un message à deux destinataires
- 30. Envoyer un message à une sous-vue après autorotate
Oui c'est une façon de le faire sans un cadre, mais vous aurez besoin de faire un XMLHTTPRequest conçu à la main pour le faire fonctionner à travers le navigateur. Plus d'infos: http://stackoverflow.com/questions/tagged/ajax – Matias