Voici ma variable javascript my
, je voulais l’obtenir à partir d’un fichier php.
À l’intérieur du selectAnnotation.php
je ne fais que selectAnnotation.php
faire l’écho
echo "{ src : 'http://192.168.1.58/annotate/drive/image/test.jpg', text : 'Suresh and Gopinath....', shapes : [{ type : 'rect', geometry : { x : 0.1825726141078838, y: 0.23756906077348067, width : 0.11602209944751381, height: 0.11618257261410789 } }] }"; exit;
Comme, je voulais l’obtenir à partir d’un fichier php. Pour y parvenir j’ai fait un appel en ajax
var my = { src : 'http://192.168.1.58/annotate/drive/image/', text : 'Suresh and Gopinath....', shapes : [{ type : 'rect', geometry : { x : 0.1825726141078838, y: 0.23756906077348067, width : 0.11602209944751381, height: 0.11618257261410789 } }] } console.log(my); console.log('__________'); $.post("masterCall/selectAnnotation.php", { url: 'http://192.168.1.58/annotate/drive/image/' }, function(data,status){ console.log(data); console.log('__________'); //anno.addAnnotation(data); });
Ce faisant, je peux voir la différence en console ..
Voici l’écran de ce qui se passe je fais le journal de la console de console.log(my)
et console.log(data)
Alors, comment puis-je faire la bonne réponse qui apparaît comme à l’intérieur du console.log(my)
Remarque :
Le var my
est le format correct dont j’ai besoin, je voulais obtenir le même format publié à partir d’un fichier php et le récupérer en format jQuery.
Mettre à jour :
Quand j’essaie de faire
$v = "{ src : 'http://192.168.1.58/annotate/drive/image/test.jpg', text : 'Suresh and Gopinath....', shapes : [{ type : 'rect', geometry : { x : 0.1825726141078838, y: 0.23756906077348067, width : 0.11602209944751381, height: 0.11618257261410789 } }] }"; echo json_encode($v);
et en jquery
function(data,status){ var obj = jQuery.parseJSON( data); console.log(obj); });
je me fais presque comme le précédent ..
Essayez de construire comme ça:
$Result = $Connection->query($Query); $result=array(); $i=0; while($row = $Result->fetch_assoc()){ $result[$i]['src']=$row['src']; $result[$i]['text']=$row['text']; $result[$i]['shapes'][]=array('type'=>'rect','geometry'=>array('x' => $row['x'], 'y'=> $row['y'], 'width' => $row['width'], 'height'=>$row['height']) ); $i++; } echo json_encode($result);
// réponse javascript après succès …
data=JSON.parse(data); for(var i=0;i
essayez d’utiliser json_encode et json_decode pour transférer vos données. Dans js JSON.parse
C’est ma première réponse sur SO.
Je suppose que la bonne façon de le faire serait d’utiliser eval (). Cependant, il est plutôt recommandé d’utiliser json_encode et json_decode comme Ninjava l’a suggéré.