Баг с 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, время: 11:33. |