关于json_encode和ajax dataType:“json”

时间:2012-05-30 03:48:55

标签: php javascript json

在我的ajax代码中:

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

给我一​​个输出 [{“records”:“1”}] [{“records”:“1”}] 所以我通过添加 dataType:“将它解析为json” json“在我的ajax代码中。但是当我解析它时,它不会给我输出但是在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.

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分:2)

这不是有效的JSON。从现有结果中创建一个数组并编码