Показать сообщение отдельно
  #7 (permalink)  
Старый 18.04.2022, 12:58
Новичок на форуме
Отправить личное сообщение для reg33 Посмотреть профиль Найти все сообщения от reg33
 
Регистрация: 15.04.2022
Сообщений: 1

добрый день.
Добрый день. Я новичек в програмировании как на Си и вообще нуб 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

Подскажите что я делаю не так?
Ответить с цитированием