[AJAX] Envoie de données récupérées par une fonction javascript
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
| //variables (que j'ai enlevées là)
window.onload = function(){
cpt=1;
mesTD=document.getElementsByTagName("td");
for(i in mesTD)
{
mesTD[i].onclick=function(){clicTD(this);}
}
}
// retourne un objet xmlHttpRequest.
// méthode compatible entre tous les navigateurs (IE/Firefox/Opera)
function getXMLHTTP()
{
var xhr = null;
if(window.XMLHttpRequest)
{ // Firefox et autres
xhr = new XMLHttpRequest();
}
else if(window.ActiveXObject)
{ // Internet Explorer
try
{
xhr = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e1)
{
xhr = null;
}
}
}
else
{ // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
}
return xhr;
}
function clicTD(zis)
{
//traitement de l'échange de cellules qui marche tres bien
}
function exploiter()
{
//affiche le résultat position1 / val 1 et position 2 / val 2 dans un div du html
}
sauvegarder (// mes variables pos1/val1 pos2/val2);
//Objet XMLHTTPRequest
var XHR = null;
function sauvegarder(pos1, val1, pos2, val2)
{
//Si l'objet existe déjà on abandonne la requête et on le supprime
if(XHR && XHR.readyState != 0)
{
XHR.abort();
delete XHR;
}
//Création de l'objet XMLHTTPRequest
XHR = getXMLHTTP();
if(!XHR)
{
alert('Abandon : Impossible de créer une instance XMLHTTP')
return false;
}
XHR.onreadystatechange = function()
{
//Si le chargement est terminé
if (XHR.readyState == 4 && XHR.status == 200)
{
// Je dois mettre quoi là ?
alert(XHR.responseText)
}
}
//URL du script de sauvegarde auquel on passe la valeur à modifier
var url = "edt_save.php";
XHR.open("POST", url, true);
XHR.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
var data = "pos1=" + pos1 + "&val1=" + val1 + "&pos2=" + pos2 + "&val2" + val2;
//Envoi de la requête
XHR.send(data);
alert (data);
} |
Je suis un peu perdu.... J'ai de gros problème de "logique", j'ai encore du mal avec AJAX hehe.
Je ne reçois aucun alert, et les données ne sont pas envoyées.
Merci !