Webkit обрезает последний символ фида json - PullRequest
0 голосов
/ 11 января 2012

Я создаю канал JSON с PHP, используя echo json_encode($my_array). Результирующая строка, передаваемая в браузер, должна быть такой, как показано ниже: [{"ACC_NUM":"147545","BOOK_DATE":"2011-10-22"},{"ACC_NUM":"147546","BOOK_DATE":"2011-10-22"}]

В Firefox строка json принимается, как показано. Однако в браузерах webkit (Safari, Chrome) последний символ строки обрезается. Это приводит к ошибке разбора.

Я даже пытался использовать канал как application / json и text / html, но безрезультатно.

Кто-нибудь знает, что происходит? Я что-то здесь не так делаю? Заранее спасибо.

BACKEND CODE: // $ result содержит строки из запроса MySQL

if($result) {
    $arr = array();
    foreach($result as $key => $val) {
        $arr[$key] = $val;
    }
    echo json_encode($arr);
}

это сохраняется в index.php, который я могу просмотреть в браузере и показывает результирующий канал json.

1 Ответ

5 голосов
/ 12 января 2012

Для тех, кто сталкивается с этой проблемой с Slimframework. После вывода строки json просто добавьте команду выхода.

if($result) {
    $arr = array();
    foreach($result as $key => $val) {
        $arr[$key] = $val;
    }
    echo json_encode($arr);
    exit; // <------------------- Hallelujah!!!
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...