добрый день.
Добрый день. Я новичек в програмировании как на Си и вообще нуб JS.
Так у меня и не получилось использовать технологию JSON.
На сервере вормирую посыку при запросе браузера. Сама посылка формируется
void serializeToJSON (char *outArrData, const measTemp *tempData ){
char temp1[]="\"temp1\":";
char temp2[]="\"temp2\":";
char temp3[]="\"temp3\":";
sprintf (outArrData, "{%s%s,%s%s,%s%s}",temp1,tempData->sensorOnetemp,temp2,tempData->sensorTwotemp,temp3,tempData->sensorThreetemp);
}
По вашему примеру написал сначала попробовал принять чисто строку написав в скрипте
xhr.responseType = "text"; все работает получаю стандартную на мой взгляд JSON строку
в косоле выводиться {"temp1":+28.563,"temp2":+28.563,"temp3":"+temp "} 192.168.1.193:39:17
когда по вашему примеру JS пишу
function Timer1() { // функция для запроса данных
xhr.open("GET", "content.html?r=" + Math.random(), true); //Math.random() - защита от кеширования
xhr.responseType = "json"; // преобразование ответа JSON в обьект JS
xhr.onload = function(oEvent) {
var data=xhr.responseText;
var jsonResponse = JSON.parse(data);
console.log(data);
document.getElementById('sensor1').innerHTML = jsonResponse["temp1"];
document.getElementById('sensor2').innerHTML = jsonResponse["temp2"];
document.getElementById('sensor3').innerHTML = jsonResponse["temp3"];
}
xhr.send(null);
idTimer1 = setTimeout("Timer1()", 1000);
}
в консоль выводит
Uncaught DOMException: XMLHttpRequest.responseText getter: responseText is only available if responseType is '' or 'text'. 192.168.1.193:22
Подскажите что я делаю не так?
|