所以我请求并从服务器获取对象,如下所示:
$(document).ready(function () {
var req= $.getJSON("api/Appointments");
req.done(function (data) {
$.each(data, function (key, value) {
$("#ul1").append("<li>" + value.Time + value.Company + "</li>");
});
});
zahtev.fail(function (error) {
alert(error.statusText);
})
});
它有效,它显示<ul>
中的1个项目!
但是,当我尝试这样做时:
$(document).ready(function () {
var req = $.getJSON("api/Appointments");
req.done(function (data) {
if ((data.Time == "9:00") && (data.Company == "Laakkonen")) {
document.getElementById("A9").style.background = "red";
} else {
alert("error1");
}
});
req.fail(function (error) {
alert(error.statusText);
})
});
它给了我else
语句的错误1!如果检索到的JSON对象DID确实没有9:00,那应该没问题,但是我在前面提到的表中有1个项目,其中包含"9:00"
和"Laakkonen"
...所以它应该将元素着色为红色。
我在这里缺少什么?
答案 0 :(得分:1)
如果您将数据组合作为回复: -
$(document).ready(function () {
var req = $.getJSON("api/Appointments");
req.done(function (data) {
var result = false;
$.each(data, function (key, value) {
if ((value.Time == "9:00") && (value.Company == "Laakkonen")) {
result = true;
return result;
}
});
if (result == true) {
document.getElementById("A9").style.background = "red";
} else {
alert("error1");
}
});
req.fail(function (error) {
alert(error.statusText);
});
});
如果您有单个数据作为回复: -
if ((data[0].Time == "9:00") && (data[0].Company == "Laakkonen")) {
document.getElementById("A9").style.background = "red";
} else {
alert("error1");
}