[英]JSON decode info from php
我在解码JSON字符串时遇到错误。
错误:
Uncaught SyntaxError: Unexpected token {
我的PHP代码:
<?php
$socket = $_GET["socket"];
$bd = new PDO("mysql:host=localhost;dbname=gestao_utilizadores" , "root" , "");
$getComponentes = $bd->prepare("SELECT * FROM componentes WHERE ( Socket=:socket )");
$getComponentes->bindValue(':socket' , $socket);
$getComponentes->execute();
$resultado = $getComponentes->fetchAll();
For ($i = 0; $i < $getComponentes->rowCount() ; $i++) {
$componentes = json_encode(array('tipo' => $resultado[$i]["Tipo"] , 'nome' => $resultado[$i]["Nome"] , 'socket' => $resultado[$i]["Socket"]));
echo $componentes;
}
?>
我的Javascript代码:
$.ajax({
url: 'compatibilidades.php',
data: {
socket: $("#board option:selected").attr('value')
},
success: function(dadosRecebidos) {
teste = JSON.parse(dadosRecebidos);
alert(teste);
}
});
错误是在javascript或PHP上?
<?php
$socket = $_GET["socket"];
$bd = new PDO("mysql:host=localhost;dbname=gestao_utilizadores" , "root" , "");
$getComponentes = $bd->prepare("SELECT * FROM componentes WHERE ( Socket=:socket )");
$getComponentes->bindValue(':socket' , $socket);
$getComponentes->execute();
$resultado = $getComponentes->fetchAll();
$arr = array();
for ($i = 0; $i < $getComponentes->rowCount() ; $i++) {
$componentes = array('tipo' => $resultado[$i]["Tipo"] , 'nome' => $resultado[$i]["Nome"] , 'socket' => $resultado[$i]["Socket"]);
array_push($arr, $componentes);
}
echo json_encode($arr);
?>
仅输出一次JSON,否则最终将输出多个JSON字符串,例如
{"key1": "value1", "key2": "value2"}{"key3": "value3"}
那不是有效的JSON
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.