2012-05-30 2 views
0

В моем АЯКС код:о json_encode и АЯКС DATATYPE: "JSon"

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

дает мне выход [{ "записи": "1"}] [{ "записей": "1"} ] Итак, я разобрал его json, добавив dataType: «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

Это не действительный JSON. Сделайте массив из ваших существующих результатов и закодируйте , что.

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);