Баг с post запросом получающим json данные (jquery)
В jquery-1.5.2 и jquery-1.6.1 глючно работает post запрос получающий json данные, в jquery-1.3 все ок, но мне нужно не младше 1.5.
Вот клиентский код: $(function () { $.ajax({ url: 'example.php', type: 'POST', data: {data: ''}, dataType: 'json', //dataType: 'text', success: function (r) { alert('success !!!'); }, error: function (r) { alert( 'Ajax Error \n' + '\n readyState: ' + r.readyState + '\n responseText: ' + r.responseText + '\n status: ' + r.status + '\n statusText: ' + r.statusText ); } }); }); Вот серверный код: <?php //header('Content-type: text/json; charset=utf-8'); // и так пробовал header('Content-type: application/json; charset=utf-8'); //header('Content-type: text/plain; charset=utf-8'); echo '{status: 1}'; ?> Вот что говорит alert: Код:
Ajax Error Вот что говорит FireBug: Headers Код:
Response Headers Код:
{status: 1} Код:
status: 1 В принципе можно в js коде dataType: 'json' поменять на dataType: 'text' и в php header('Content-type: application/json; charset=utf-8'); на header('Content-type: text/plain; charset=utf-8'); так все работает, а результат можно обрабатывать с помощью функции eval(). Но как то не кошерно, да и время дофига на поиск решения потратил, хочется нормально сделать. Кто нибудь с этим сталкивался? |
JSON.parse('{status: 1}')//SyntaxError: Unexpected token ILLEGAL
JSON.parse('{"status": 1}')//Object |
Спасибо огромное :)
|
Часовой пояс GMT +3, время: 03:12. |