|
|
|
|
Passage de variable php dans ajax
Dernière réponse le 18 oct 2007 à 18:47:34 smawn, le 10 oct 2007 à 21:56:33Salut,
Je fais un site perso avec de l'ajax ( http://smawn.free.fr ) et je voudrais faire passer une variable php à un autre div (charger par ajax .php) sur le click d'un <a href> appellant ma fonction ajax et page php... voila je pense que c conci mais clair ??
pour ceux qui vont voir la démo du site au lieu que les vodéos s'affiche ds le tableau ou il y les decription, le nom et l'image je que sur un href j'envoi l'id de la video ou la video elle même ds le div ou je recharge ma page de lecteur video.
n'hésitez pas à répondre si vous n'avez pas bien compris mon prob
A+ Smawn
Configuration: Windows XP Firefox 2.0.0.4
Répondre à math
|
Bonjour,
|
Bonjour,
// Requette AJAX
function makeRequest(url,id_ecrire,arg1,arg2,arg3){
var http_request = false;
//créer une instance (un objet) de la classe désirée fonctionnant sur plusieurs navigateurs
if (window.XMLHttpRequest) { // Mozilla, Safari,...
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType('text/xml');//un appel de fonction supplémentaire pour écraser l'en-tête envoyé par le serveur, juste au cas où il ne s'agit pas de text/xml, pour certaines versions de navigateurs Mozilla
}
} else if (window.ActiveXObject) { // IE
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) {
alert('Abandon :( Impossible de créer une instance XMLHTTP');
return false;
}
http_request.onreadystatechange = function() { traitementReponse(http_request,id_ecrire); } //affectation fonction appelée qd on recevra la reponse
// lancement de la requete
http_request.open('POST', url, true);
//changer le type MIME de la requête pour envoyer des données avec la méthode POST , !!!! cette ligne doit etre absolument apres http_request.open('POST'....
http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
///// ici tu peux rajouter les autres valeurs que tu as passees en arguments lors de l'appel de la fonction
data="val_1="+arg1+"&val_2="+arg2+"&val_3="+arg3;
http_request.send(data);
}
function traitementReponse(http_request,id_ecrire) {
var affich="";
if (http_request.readyState == 4) {
if (http_request.status == 200) {
// cas avec reponse de PHP en mode texte:
//chargement des elements reçus dans la liste
var affich_list=http_request.responseText;
obj = document.getElementById(id_ecrire);
obj.innerHTML = affich_list;
}
else {
alert('Un problème est survenu avec la requête.');
}
}
}
appel de la fonction par: makeRequest('ton_fichier_php.php','id_du_div_a_ecrire','valeur_arg1','valeur_arg2','valeur_arg3')
et le div qui doit "recevoir" <div id="id_du_div_a_ecrire"> </div> dans ton fichier php appele par Ajax tu recuperes les arguments par $_POST['val_1'] $_POST['val_2'] $_POST['val_3'] tu les traites comme tu veux et la réponse sera renvoyee et affichée dans le div. |
Merci Alain42,
|

