0

在我的 ajax 代码中:

$.ajax({
        url: CI_ROOT + "isUserExist",
        type: "GET",
        data: {recepient: recepient},
        success: function(r) {
            console.log(r)
        }
})

给我一个输出[{"records":"1"}][{"records":"1"}]所以我通过在我的 ajax 代码中添加dataType:"json"将它解析为 json 。但是当我解析它时,它没有给我输出,而是在 try-catch-block 上出现错误。

如何让它显示为对象?在我的 PHP 代码中,我是这样做的:

 for ($i = 0; $i < count($matches[0]); $i++) {
     echo json_encode($this->searchmodel->doesUsersExists($matches[0][$i]));
 } //gets the user id of the user from a given string.
4

2 回答 2

5

将每个条目添加到一个数组中,然后对该数组进行 json 编码,而不是分别对每个条目进行 json 编码。如果您只调用一次 json_encode,您将获得有效的 JSON:

$result = array();
for ($i = 0; $i < count($matches[0]); $i++) {
     $result[] = $this->searchmodel->doesUsersExists($matches[0][$i]);
} //gets the user id of the user from a given string.

echo json_encode($result);
于 2012-05-30T03:52:45.110 回答
2

那不是有效的 JSON。从您现有的结果中创建一个数组并对其进行编码

于 2012-05-30T03:50:10.567 回答