ошибка JSON.parse
Здравствуйте, уважаемые)!
при получении ответа от сервера вылазит Uncaught SyntaxError: Unexpected token
на клиенте:
xhr.open('GET', 'парампапам?' + parameter, true);
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
if (xhr.status == 200) {
var data = JSON.parse(xhr.responseText);
//var data = eval("(" + xhr.responseText + ")");
//alert(data.id);
alert(xhr.response.status)
} else {
handleError(xhr.statusText);
}
}
}
xhr.send(null);
серверный скрипт
$result = mysqli_query($link, $query); // Запрашиваем
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
$json = json_encode($row); // переводим в JSON
//header ("Content-type: application/json; charset=utf-8");
switch (json_last_error()) {
case JSON_ERROR_NONE:
echo $json; // отправляем клиенту json
break;
серверный отправляет строку такого вида {"id":"1","time":"142342","v":"123","p":"345"} тут все ок.
не могу ее получить на клиенте, в xhr.responseText лежит:
<html><body>
{"id":"1","time":"142342","v":"123","p":"345"}
</body></html>
так понимаю JSON.parse не срабатывает из-за тегов, но как тогда быть? как вытащить из боди строку? вставить в промежуточный елемент и через DOM достать значение. есть ли альтернативнее решение? можт заголовок нужен какой где? заранее спасибо!
|