【发布时间】:2015-10-16 21:37:46
【问题描述】:
我目前正在尝试将 PDO 对象转换为 javascript JSON。
这是我的代码:
PHP:
$personArray = array();
$queryResult = < this gets the valid result of a $statement->fetchall(PDO:FETCH_ASSOC) >
foreach($queryResult as $p){
$personArray[] = array(
"Id" => $p["Id"],
"Name" => $p["Name"],
"Text" => $p["Text"]
);
}
echo json_encode($personArray);
请注意,我之前尝试过 json_encode($queryResult);,但似乎我必须更改所有我不想做的语句的编码。
这是我收到的 JS: 函数 refreshEntries(){
$.ajax({
url: "< my PHP file >",
type: 'POST',
success: function(returnPDO){
var obj = JSON.parse(returnPDO);
...
}
});
}
Javascript,更准确地说,JSON.parse(returnPDO); 是断点。我每次都会收到" Uncaught SyntaxError: Unexpected token a " 错误消息,我很确定这是来自位于 PHP 数组开头的 array()。
这里一定有什么问题,但我不知道究竟是什么。我想我知道错误在哪里,但不知道如何修复它。有什么帮助吗?
【问题讨论】:
-
根据具体情况,您甚至可能不需要 json.parse。有时 jquery 会自动解析它。尝试删除它,看看会发生什么。
-
如果设置
dataType: "json",jquery会自动解析为json。使用浏览器开发者工具查看来自服务器的完整响应。 -
如果你有 jQueryo,你就不需要解析器了。
标签: javascript php json pdo