PHP:出现json解析错误
我想通过jQuery使用ajax将数据从数据库导入javascript代码,但是我遇到了一个json解析错误,我真的不知道它是从哪里来的。你能帮我吗 目标是在地图上建造建筑物,我从数据库中获取几何元素,如坐标和形状参数 在JS文件中,放入: })) 在PHP文件中: 一定是PHP:出现json解析错误,php,jquery,ajax,json,parsing,Php,Jquery,Ajax,Json,Parsing,我想通过jQuery使用ajax将数据从数据库导入javascript代码,但是我遇到了一个json解析错误,我真的不知道它是从哪里来的。你能帮我吗 目标是在地图上建造建筑物,我从数据库中获取几何元素,如坐标和形状参数 在JS文件中,放入: })) 在PHP文件中: 一定是 dataType : "json", 如果您希望在响应中使用JSON 编辑:请参见 数据类型 类型:字符串 期望从服务器获得的数据类型。默认值:智能猜测(xml、json、脚本、文本、html) 您正
dataType : "json",
如果您希望在响应中使用JSON
编辑:请参见
数据类型
类型:字符串
期望从服务器获得的数据类型。默认值:智能猜测(xml、json、脚本、文本、html)
您正在尝试对数据库语句进行json_编码,以处理返回的查询。这不是你可以编码的东西。代码应该是
echo json_encode($donnees);
^^^^^^^^--- the actual data
如果您已经完成了最基本的调试,例如JS中的
console.log(returnData)
,您会发现您没有从脚本中得到任何有效的返回信息。$response只是一个光标,您需要返回获取的数据
try {
$bdd = new PDO('mysql:host=localhost;dbname=building_geometry','admin','password');
}
$reponse = $bdd->query('SELECT * FROM ID_GEOMETRYELEMENT');
$donnees = $reponse->fetch();
header('Content-Type: application/json');
echo json_encode($donnees);
?>您从ajax中得到了什么?首先,您必须在JS代码中修复一件事。如果您正在为(var ID_geometryElement in data){编写
,那么您将在ID_geometryElement
变量中获得每个项,而不是在$data
中(从何处获得$sign in JS var?),这是什么意思?我希望ajax执行函数addComp()并用它从数据库查询的数据填充数据,但我之前在json解析中遇到了一个错误。除了对json_encode()的单个调用的输出之外,您的php程序是否还输出其他内容
?浏览器在http响应数据中显示了什么?同样,在您的JS代码中,您似乎有一个名为data
的变量,但它看起来像是用名称$data
引用它。这看起来像是一个bug。您可以尝试一下,但没有发现任何问题……这没有任何作用。数据类型json告诉jquery您希望从t返回json服务器,使它自动解码字符串。但是OP正在做。parseJSON,所以键入:html是“ok”。哦,是的,我已经改变了,但json解析中仍然有错误,因为这是我第一次用javascript编码,我不知道有这个调试工具。我会尝试一下,谢谢!谢谢,现在使用Firebug,我知道了正确解析json。
dataType : "json",
echo json_encode($donnees);
^^^^^^^^--- the actual data
try {
$bdd = new PDO('mysql:host=localhost;dbname=building_geometry','admin','password');
}
$reponse = $bdd->query('SELECT * FROM ID_GEOMETRYELEMENT');
$donnees = $reponse->fetch();
header('Content-Type: application/json');
echo json_encode($donnees);