[AJAX] faire passer un objet collection
Bonjour,
J'essaye d'envoyer un [object HTMLCollection] c'est a dire un <input hidden> qui est une sorte de tableau, (contient plusieurs élements), à travers le javascript vers la page php. Mais ça ne marche pas. Comment faire pour envoyer une collection en Ajax ?
j'ai comme erreur:
Code:
1 2
|
SyntaxError: invalid regular expression flag h |
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
|
echo" <input type=\"hidden\" name=\"mon_input[]\" value=\"".$id4."\">";
-------------------------
javascript :
function majsfonction(){ // fonction qui récupère les persones en ligne
var input = document.getElementsByName("mon_input");
var xhr_url = 'mapage.php';// nom de la page
/*Avec variables qui remplacent les variables de session */
var data = 'input='+input; // donneé a envoyer à la page
var getInfo = true; // donnée retourné ?
var toMake = "infos"; // execution apres retour de donnée
sendGetRequestNoEval(xhr_url,data,getInfo,toMake) // appel de la page avec les parametre ci haut
};
function sendGetRequestNoEval(xhr_url,data,getInfo,toMake){ // function utilisant XMLHttpRequest pour lire des page en format PHP qui g`re les requete ds la BD
/*Sid = id de la session à transmettre à la page php*/
//var sid = document.getElementById('sid').value;
var xhr_object = null; // declarationde la variable
if(window.XMLHttpRequest){ // Firefox
xhr_object = new XMLHttpRequest(); // declaration de lobjet
}else if(window.ActiveXObject){ // Internet Explorer
xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); // declaration de lobjet
}else { // XMLHttpRequest non supporté par le navigateur
alert("Your browser does'nt use XMLHTTPRequest objects...");
return;
}
/*http://www.lesite.com/savoir/xmlhttprequest.php3*/
/*POST*/
xhr_object.open("POST", xhr_url, true);
if(getInfo != false){ // if retour d'info attendu
xhr_object.onreadystatechange = function() {
if(xhr_object.readyState == 4){
var infos = xhr_object.responseText // affectation du retour de donnée a infos
if(toMake != ''){ // execute le javascrip contenu dans la variable toMake
toMake=infos;
//Si toMake=infos; est une expression javascript eval(toMake); marchera vérifié l'expression
// javascript, pas de HTML <table>
eval(toMake);
//eval(infos);
}//fin if(toMake != '')
}//fin if(xhr_object.readyState == 4){
}//fin xhr_object.onreadystatechange = function()
}//fin if(getInfo != false)
xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr_object.withCredentials = true; /* Avec « true », l'envoi des cookies et des sessions est bien effectué*/
xhr_object.send(data);
};
-----------------
page php
mapage.php
$input = $_POST['input']; |