При помощи кода ниже я забираю значения для сайта:
function loadBlock(data2) {
data2 = JSON.parse(xmlHttp.responseText);
data = document.getElementsByTagName('body')[0].innerHTML;
var new_string;
for (var key in data2) {
new_string = data.replace(new RegExp('{{'+key+'}}', 'g'), data2[key]);
data = new_string;
}
document.getElementsByTagName('body')[0].innerHTML = new_string;
handleServerResponse();
}
Когда происходит "подставка" полученных значений в html проблем нет:
document.write("{{variable}}");
- выведет значение, которому соответствует взятое значение из файла *.json, но вот когда я пытаюсь, например, сравнить, преобразовать строку в число и т.п. то происходит работа не со значением переменной, а со строковым обозначением переменной. Поясню, например ({{variable}} - хранит значение 0):
if ("{{variable}}")document.write("+");
else document.write("-");
Выдаст +
А такой код:
let n="{{variable}}";
n.codePointAt(0);
n.codePointAt(1);
...
Выдаст:
123 - что соответствует символу {
123 - что соответствует символу {
...
Т.е. идет работа не со значением 0, а с наименованием переменной. Как победить?
З.Ы.: Работа странички на ESP8266(ардуино), т.е. нет у меня варианта писать на PHP.