[AJAX] Mise en place d'un réponse dans Ajax.Request via JSON
Alors c'est étrange car pour la même programmation entre un test avec quelques fichiers et l'utilisation dans mon projet, mon JSON est bien créé dans le test et mon JSON est null dans mon projet (lorsque j'effectue un test dessus).
Je ne vois pas vraiment d'où vient l'erreur !
le JAVASCRIPT avec Ajax.Request :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| var xhr = new Ajax.Request(url,{asynchronous: true,
method: 'post',
postBody: data,
onComplete: function(xhr,json) {
document.getElementById('txtHintContentForm').innerHTML =
" => xhr.responseText : " + xhr.responseText
+ "<br/> => xhr.responseXML : " + xhr.responseXML
+ "<br/> => json : " + json;
alert('stop interaction');
//sendFormResponse('deplacement',json);
}
}
); |
Le bloc PHP appelé pour INSERTION et RESPONSE (JSON) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| // deplacements : $field[1] = $column[1] = $data[1] = nom_deplacement
// $field[2] = $column[2] = $data[2] = logo_deplacement
$columnString = $column[1] . "," . $column[2];
$dataString = "'" . $data[1] . "','" . $data[2] . "'";
$sql = "INSERT INTO " . $table . " (" . $columnString . ") VALUES (" . $dataString . ")";
$RS = $DB_Connexion -> execute($sql);
//header("X-JSON: " . json_encode($sender));
header('Content-Type: text/html; charset=utf-8');
$resp = array ('nom_deplacement'=>$data[1], 'logo_deplacement'=>$data[2]);
$sender = json_encode($resp);
$sender = '{"BDD":' . $sender . '}';
header('X-JSON: ' . $sender);
/*echo '{"BDD":{';
echo '"nom_deplacement": "'.$data[1].'",';
echo '"logo_deplacement": "'.$data[2].'"';
echo '}}';*/ |
Rq : Une certaine incertitude au niveau des header... on notera que je ne fais pas d'EVAL de JSON dans le onComplete de Ajax.Request car j'utilise X-JSON en header.