Не корректное формирование JSON-объекта в JsHttpRequest

Jan 11, 2008 16:52



Сегодня столкнулся с неприятным багом в популярной AJAX-библиотеке Дмитрия Котерова. Метод JsHttpRequest::php2js не корректно формирует JSON-объект - только строка должна быть «обернута» кавычками. Числа должны возвращаться без кавычек.



Исправление ошибки «в лоб». Найти строку:

...
return '"' . str_replace($jsonReplaces[0], $jsonReplaces[1], $a) . '"'; 
...
?>

и обернуть ее проверкой на строку:

...
if (is_string($a)) { 
    return '"' . str_replace($jsonReplaces[0], $jsonReplaces[1], $a) . '"'; 

else { 
    return $a; 
}
...
?>

Странно что до сих пор никто не столкнулся с этим - JavaScript воспринимает и работает не как с числом, а как со строкой. Со всеми вытекающими.

[ Оригинал Поста ]

jshttprequest, php

Previous post Next post
Up