щелкнул выход JSON:Функция не считанное значение правильно
{"control_mode":0.0,"lvl_danger":0.0,"lvl_alert":0.0,"lvl_normal":0.0,"lvl_upStream":0.0,"lvl_warning"
:0.0,"lvl_downStream":0.0,"lvl_control":null,"rtu_supply":false,"elcb_locked":false,"red_phase":false,
"yellow_phase":false,"blue_phase":false,"gen_status":false,"gen_fail":false,"gen_lowFuel":false,"gen_lowOilPressure"
:false,"gen_lowOverSpeed":false,"gen_highTemp":false,"Gate1":{"gateNo":1,"fullOpen":false,"fullClose"
:false,"opening":false,"closing":false,"mode":0,"state":0,"cond":0,"positionM":0.0,"positionP":0.0}}
Как вы можете видеть, "состояние": 0, в представленных данных JSON возвращаемые через этот адрес:
var RealDataApi = function() {
var url_getgatedata = "api/realdata/getgatedata";
// public functions
return {
getGateData: function (done, fail, always) {
var jqxhr = $.get(url_getgatedata);
jqXhrHandler(jqxhr, done, fail, always);
},
и затем эта функция считывает состояние и показывает и скрывает изображения в зависимости от значения состояния.
RealDataApi.getGateData(
function (data) {
if (data) {
$("#pDatetime").html(new Date().toLocaleString());
if (data.state == 0)
{
$("#gate1").show();
}
else if (data.state == 2)
{
$("#gate2").show();
}
Так проблема здесь в том, что функция не может прочитать значение состояния правильно, и вместо сравнения возвращаемого значения через URL, он всегда возвращает нуль? Что здесь не так?
Пожалуйста, добавьте скрипку –
'state', кажется, свойство вложенного объекта, так что вы, вероятно, хотите' data.Gate1.state'. 'data.state', похоже, не существует. * "вместо сравнения возвращаемого значения с url, он всегда возвращает null" * Что именно означает "null" и где? Пожалуйста, дайте полный пример. Например. неясно, когда/где вызывается 'RealDataApi.getGateData'. –
, когда '.Gate1.state' используется, эта ошибка возникает' TypeError: data.gate1 неопределен \t если (data.gate1.state == 1) ' –