Bonjour tout le monde,
Dans le cadre de la mise en place d'AJAX pour créer un petit panneau utilisateur je recois les informations de ma page ajax.php en mode texte...mais comme j'ai besoin de recevoir plusieur infos je renvoie infos1#infos2#infos3....et dans mon script js je fait un split("#" ). Le problème c'est quand une des info contient un espace...il a l'air de spliter au niveau de l'espace. J'ai beau faire un escape avant de spliter et de faire split("%(code du diese)" )ca ne marche toujours pas.
LA version avec escape
Code :
- ajax_object.onreadystatechange = function() {
- if(ajax_object.readyState == 4) {
- var resultat = escape(ajax_object.responseText)
- reponse = resultat.split("%23" );
- if(unescape(reponse[0]) == 0)
- document.getElementById("pannel_control" ).innerHTML = '<p>'+unescape(reponse[1])+'</p>';
- else if(unescape(reponse[0]) == 1) {
- var infos = '<div class="infos">';
- infos += '<p align="center">' +unescape(reponse[4])+ '</p>';
- infos += '<table>';
- infos += '<tr><th>Victoires</th><th>Défaites</th></tr>';
- infos += '<tr><td>' +unescape(reponse[1])+ '</td><td>' +unescape(reponse[2])+ '</td></tr>';
- infos += '</table>';
- infos += '</div>';
- document.getElementById("pannel_control" ).innerHTML = '<h4>'+unescape(reponse[5])+'</h4>';
- document.getElementById("pannel_info" ).innerHTML = bouton+'<br/><div class="avatar"><img src="http://www.fallengalaxy.com/images/avatar/'+unescape(reponse[3])+'"/></div>'+infos;
- }
- else
- document.getElementById("pannel_control" ).innerHTML = '<p>'+unescape(reponse[1])+'</p>';
- }
- }</code>
|
La version sans
Code :
- ajax_object.onreadystatechange = function() {
- if(ajax_object.readyState == 4) {
- var reponse = ajax_object.responseText.split("#" );
- if(reponse[0] == 0)
- document.getElementById("pannel_control" ).innerHTML = '<p>'+reponse[1]+'</p>';
- else if(reponse[0] == 1) {
- var infos = '<div class="infos">';
- infos += '<p>' +reponse[4]+ '</p>';
- infos += '<table>';
- infos += '<tr><th>Victoires</th><th>Défaites</th></tr>';
- infos += '<tr><td>' +reponse[1]+ '</td><td>' +reponse[2]+ '</td></tr>';
- infos += '</table>';
- infos += '</div>';
- document.getElementById("pannel_control" ).innerHTML = '<h4>'+reponse[5]+'</h4>';
- document.getElementById("pannel_info" ).innerHTML = bouton+'<br/><div class="avatar"><img src="http://www.fallengalaxy.com/images/avatar/'+reponse[3]+'"/></div>'+infos;
- }
- else
- document.getElementById("pannel_control" ).innerHTML = '<p>'+reponse[1]+'</p>';
- }
- }
|
Pour ceux qui veulent tester <lien>http://www.fallengalaxy.com/test</lien> puis ouvrez le pannel a gauche du site. login: test@fallengalaxy.com pass: test et ensuite le pseudo choisit doit apparaitre sous la ligne or il s'arrête a l'espace ("Test Pannel" normalement et la ca fait "test" seulement)