inattendu caractère non-blanc après les données JSON?
Je veux en sortie de ce code PHP echo name
, star_type
, service
par jquery.each()
, mais j'ai l'erreur. comment résoudre ce problème?
erreur:
Une erreur s'est produite:
[object object]
parsererror
SyntaxError: JSON.analyser: inattendu caractère non-blanc après
Les données JSON
J'ai ce code PHP:
//$hotel_id = $this->input->post('hotel_id');
$hotel_id = array('1','2','3');
//print_r($hotel_id);
foreach ($hotel_id as $val) {
$query_r = $this->db->query("SELECT * FROM hotel_submits WHERE id LIKE '$val' ORDER BY id desc");
$data = array();
foreach ($query_r->result() as $row) {
$data_s = json_decode($row->service, true);
$data_rp = json_decode($row->address, true);
$data[] = array(
'name' => $row->name,
'star_type' => $row->star . '-' . $row->type,
'site' => $row->site,
'service' => $data_s,
'address' => $row->address
);
}
echo json_encode($data);
}
C'est sortie au-dessus de code PHP:
[{
"name": "how",
"star_type": "5-hotel",
"site": "www.sasaas.assa",
"service": ["shalo", "jikh", "gjhd", "saed", "saff", "fcds"]"address": "chara bia paeen"
}][{
"name": "hello",
"star_type": "4-motel",
"site": "www.sasasa.asas",
"service": ["koko", "sili", "solo", "lilo"]"address": "haminja kilo nab"
}][{
"name": "hi",
"star_type": "3-apparteman",
"site": "www.saassaas.aas",
"service": ["tv", "wan", "hamam", "kolas"],
"address": "ok"
}]
Et voici mon code js cette erreur:
$.ajax({
type: "POST",
dataType: "json",
url: 'get_residence',
data: dataString_h,
cache: false,
success: function (respond) {
//alert(respond);
$.each(respond[0].name, function (index, value) {
alert(value);
});
},
"error": function (x, y, z) {
alert("An error has occured:\n" + x + "\n" + y + "\n" + z);
}
});
Vous devez vous connecter pour publier un commentaire.
Vous n'êtes pas en écho json valide. Essayez ceci:
Ce sera de l'emballage de tous les
$data
tableaux dans un tableau et le mettre dans un objet d'attributs de données. Vous pouvez accéder à ces données sur la js côté comme suit:Remarque: je ne suis pas sûr de la syntaxe php que j'ai écrit ci-dessus, sa fait un moment depuis que j'ai écrit en php 🙂
Votre sortie php n'est pas valide json, vous avez oublié une virgule avant
"address"
.Vous pouvez vérifier votre json avec cette url: http://json.parser.online.fr/
Votre JSOn est complètement invalide. Vous ne devriez pas l'écho de json-ecnoded tableau à l'intérieur de la boucle, mais à l'extérieur: