Forums Webou.net - Hébergement gratuit et sans publicités avec PHP/MySQL Webou Webou Pro
Recherche avancée  
*
Bienvenue, Invité. Veuillez vous connecter ou vous inscrire.
Avez-vous perdu votre courriel d'activation?
19 Novembre 2017, 05:49:41


Connexion avec identifiant, mot de passe et durée de la session


Pages: [1]   Bas de page
  Imprimer  
Auteur Fil de discussion: [resolu] Probleme d'envoi avec XMLHttpRequest et json  (Lu 2947 fois)
0 Membres et 1 Invité sur ce fil de discussion.
bert20
Nouveau
*
Hors ligne Hors ligne

Messages: 8


Voir le profil
« le: 08 Mai 2012, 17:30:29 »

Bonjour,
j'ai sur mon site en envoi de données entre 2 pages avec XMLHttpRequest method POST
Les données sont variées et avec un  json
Toutes les données passent bien sauf le json qui n'arrive pas a la page...
Cet envoi fonctionne en local et sur un autre serveur, mais pas ici chez WEBOU...
Quelqu'un a t il une idée??? Huh

Merci
« Dernière édition: 17 Mai 2012, 08:20:20 par bert20 » Journalisée
Forums Webou.net - Hébergement gratuit et sans publicités avec PHP/MySQL
« le: 08 Mai 2012, 17:30:29 »

 Journalisée
bert20
Nouveau
*
Hors ligne Hors ligne

Messages: 8


Voir le profil
« Répondre #1 le: 09 Mai 2012, 16:40:59 »

Personne n'a d’idées??? Huh
Journalisée
judovillebon
Nouveau
*
Hors ligne Hors ligne

Messages: 38



Voir le profil WWW
« Répondre #2 le: 12 Mai 2012, 11:56:36 »

Bonjour,

Ça parait un peu dur de t'aider efficacement vu le peu d'information que tu donnes. On n'a ni l'adresse de la page qui pose problème et encore moins les source du site (le staff peut être? ). C'est donc difficile de te donner le bon niveau d'informations   Indéci
Je ne comprends pas bien lorsque tu dis
Citation
Toutes les données passent bien sauf le json qui n'arrive pas a la page...
.
Ca veut dire quoi que les données passent sauf le json, qu'est ce qui passe ?

Quel library de json utilises tu ? json2.js ?

Dans mon souvenir, j'avais eu des problèmes pour envoyer des données vers la page php. Il a fallu que je fasse quelque chose du genre:
Code:

        var JSONObject = new Object;
JSONObject.valeur = "toto";
...

JSONstring = JSON.stringify(JSONObject);
JSONstring = JsonNormalize.encode(JSONstring); // Me permet de convertir des symboles qui serai dans la chaine json,
                                                       //mais qui ne sont pas accepter pas une url (ex: '!','%','&',...)  (voir plus d'info
                                                       //http://www.w3schools.com/tags/ref_urlencode.asp)

Apres tu fais un truc du genre:
Code:
var json="json=" + JSONstring;
// function returns "AJAX" object, depending on web browser
// this is not native JS function!
if (xmlhttlobj == null)    // Ca devrait valoir un XMLHttpRequest ou un ActiveObject qui va bien
    return;
xmlhttlobj.onreadystatechange = callback;
xmlhttlobj.open("POST", "titi.php", true);

//Send the proper header information along with the request
xmlhttlobj.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttlobj.setRequestHeader("Content-length", json.length);
xmlhttlobj.setRequestHeader("Connection", "close");

xmlhttlobj.send(json);

Dans titi.php
Code:
$json=$_POST['json'];
eval("\$json = \"$json\";");

$decoded = json_decode($json);

$toto=$decoded->{'toto'};

//Envoie de la reponse
  $rjson['status'] = 1;

// encode array $json to JSON string
$encoded = json_encode($rjson);
 
// send response back to index.html
// and end script execution
die($encoded);

et finalement de retour dans la page cliente:
Code:
function callback() {
    // if request object received response
    if(xmlhttlobj.readyState == 4) {
// parser.php response
var JSONtext = xmlhttlobj.responseText;
// convert received string to JavaScript object
var JSONobject = JSON.parse(JSONtext);

                //faire quelque chose
alert (JSONobject.status);

// Send a message in the queue
allow = true;
trySendRequest();
    }
}

Voila j'espère que ca pourra t'aider.
Bon courage
Journalisée
bert20
Nouveau
*
Hors ligne Hors ligne

Messages: 8


Voir le profil
« Répondre #3 le: 14 Mai 2012, 13:02:54 »

Merci pour la réponse je regarderai de plus près ce soir...
J'utilise array2json.js pour convertir un tableau de chaine de caractères en json qui est envoyer via XMLHttpRequest sur un page php ou il est récupéré par $tabinstructions=json_decode(strip_tags($_POST['tabinstruction'],true));pour obtenir un tableau php

Tout cela fonctionne très bien sur http://podo2a.olympe-network.com/ mais les  mêmes lignes sur webou http://tracesdepistes.webou.net/GPX/indexder.php me retourne un tableau vide
on peut le voir en créant un itinéraire et en enregistrant le fichier gpx, chez WEBOU les instructions sont vide chez olympe pas de pb
Exemple Chez webou les balise <desc>sont vides
Citation
<rtept lat="45.12130000000001" lon="1.7990499999999656">
   <name>der_1</name>
<desc><![CDATA[]]></desc>
   <sym>dot</sym>
   <extensions></extensions>
  </rtept>

Chez olympe les balises <desc> contiennent la description....
Citation
<rtept lat="45.62449000000001" lon="-0.30018999999992957">
    <name>sans_nom_0</name>
    <desc><![CDATA[Prendre la direction sud]]></desc>
    <sym>dot</sym>
    <extensions></extensions>
   </rtept>
Huh Huh Huh Huh
Journalisée
bert20
Nouveau
*
Hors ligne Hors ligne

Messages: 8


Voir le profil
« Répondre #4 le: 16 Mai 2012, 22:34:35 »

Bonjour,
Le problème ne vient pas du tout de l'envoie du json mais c'est apparemment un problème de magic_quotes_gpc qui ajoute

\"Au rond-point, prendre la <b>1ere</b> sortie sur <b>N21</b>\"

j'ai ajoute
Code:
if (get_magic_quotes_gpc()){
        $_GET = array_map('stripslashes', $_GET);
        $_POST = array_map('stripslashes', $_POST);
        $_COOKIE = array_map('stripslashes', $_COOKIE);
    }
au début de la page php et cela a l'air de fonctionner  Souriant

Merci
Journalisée
Forums Webou.net - Hébergement gratuit et sans publicités avec PHP/MySQL
« Répondre #4 le: 16 Mai 2012, 22:34:35 »

 Journalisée
Pages: [1]   Haut de page
  Imprimer  
 
Aller à:  

Propulsé par MySQL Propulsé par PHP Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Dilber MC Theme by HarzeM
Page générée en 0.022 secondes avec 21 requêtes.