【发布时间】:2018-02-15 11:01:48
【问题描述】:
我正在处理 REST API 请求,我想从中获取一些数据并将其输出到网站上。
我做了一个 for 循环,开始收集所有数据,但问题是数据没有在网站上输出。
我使用 Chrome 工具检查并在网络选项卡下所有项目都已成功接收但未插入网页。
JS代码
$(document).ready(function(){
// ARRAY FOR ITEMS
var items = [];
/* ***********************************************
HVAC_VALVE01_SCHED01 - READ
**************************************************
*/
for(var r = 1; r < 11; r++) {
var request = $.ajax
({
type : "GET",
url : "http://localhost:8080/rest/items/HVAC_VALVE01_SCHED" + r + "_ONOFF/state"
});
request.done( function(data)
{
if(data == "ON") {
$('.HVAC_VALVE01_SCHED' + r + '_ONOFF').prop('checked', true);
} else {
$('.HVAC_VALVE01_SCHED' + r + '_ONOFF').prop('checked', false);
}
items["HVAC_VALVE01_SCHED" + r + "_ONOFF"] = data;
});
/* */
var request = $.ajax
({
type : "GET",
url : "http://localhost:8080/rest/items/HVAC_VALVE01_SCHED" + r + "_URA/state"
});
request.done( function(data)
{
$(".HVAC_VALVE01_SCHED" + r + "_URA").val(data);
items["HVAC_VALVE01_SCHED" + r + "_URA"] = data;
});
/* */
var request = $.ajax
({
type : "GET",
url : "http://localhost:8080/rest/items/HVAC_VALVE01_SCHED" + r + "_MINUTA/state"
});
request.done( function(data)
{
$(".HVAC_VALVE01_SCHED" + r + "_MINUTA").val(data);
items["HVAC_VALVE01_SCHED" + r + "_MINUTA"] = data;
});
/* */
var request = $.ajax
({
type : "GET",
url : "http://localhost:8080/rest/items/HVAC_VALVE01_SCHED" + r + "_PO/state"
});
request.done( function(data)
{
if(data == "ON") {
$(".HVAC_VALVE01_SCHED" + r + "_PO").css('background', 'blue');
items["HVAC_VALVE01_SCHED" + r + "_PO"] = "ON";
} else {
$(".HVAC_VALVE01_SCHED" + r + "_PO").css('background', 'black');
items["HVAC_VALVE01_SCHED" + r + "_PO"] = "OFF";
}
});
/* */
var request = $.ajax
({
type : "GET",
url : "http://localhost:8080/rest/items/HVAC_VALVE01_SCHED" + r + "_TO/state"
});
request.done( function(data)
{
if(data == "ON") {
$(".HVAC_VALVE01_SCHED" + r + "_TO").css('background', 'blue');
items["HVAC_VALVE01_SCHED" + r + "_TO"] = "ON";
} else {
$(".HVAC_VALVE01_SCHED" + r + "_TO").css('background', 'black');
items["HVAC_VALVE01_SCHED" + r + "_TO"] = "OFF";
}
});
/* */
var request = $.ajax
({
type : "GET",
url : "http://localhost:8080/rest/items/HVAC_VALVE01_SCHED" + r + "_SR/state"
});
request.done( function(data)
{
if(data == "ON") {
$(".HVAC_VALVE01_SCHED" + r + "_SR").css('background', 'blue');
items["HVAC_VALVE01_SCHED" + r + "_SR"] = "ON";
} else {
$(".HVAC_VALVE01_SCHED" + r + "_SR").css('background', 'black');
items["HVAC_VALVE01_SCHED" + r + "_SR"] = "OFF";
}
});
/* */
var request = $.ajax
({
type : "GET",
url : "http://localhost:8080/rest/items/HVAC_VALVE01_SCHED" + r + "_CE/state"
});
request.done( function(data)
{
if(data == "ON") {
$(".HVAC_VALVE01_SCHED" + r + "_CE").css('background', 'blue');
items["HVAC_VALVE01_SCHED" + r + "_CE"] = "ON";
} else {
$(".HVAC_VALVE01_SCHED" + r + "_CE").css('background', 'black');
items["HVAC_VALVE01_SCHED" + r + "_CE"] = "OFF";
}
});
/* */
var request = $.ajax
({
type : "GET",
url : "http://localhost:8080/rest/items/HVAC_VALVE01_SCHED" + r + "_PE/state"
});
request.done( function(data)
{
if(data == "ON") {
$(".HVAC_VALVE01_SCHED" + r + "_PE").css('background', 'blue');
items["HVAC_VALVE01_SCHED" + r + "_PE"] = "ON";
} else {
$(".HVAC_VALVE01_SCHED" + r + "_PE").css('background', 'black');
items["HVAC_VALVE01_SCHED" + r + "_PE"] = "OFF";
}
});
/* */
var request = $.ajax
({
type : "GET",
url : "http://localhost:8080/rest/items/HVAC_VALVE01_SCHED" + r + "_SO/state"
});
request.done( function(data)
{
if(data == "ON") {
$(".HVAC_VALVE01_SCHED" + r + "_SO").css('background', 'blue');
items["HVAC_VALVE01_SCHED" + r + "_SO"] = "ON";
} else {
$(".HVAC_VALVE01_SCHED" + r + "_SO").css('background', 'black');
items["HVAC_VALVE01_SCHED" + r + "_SO"] = "OFF";
}
});
/* */
var request = $.ajax
({
type : "GET",
url : "http://localhost:8080/rest/items/HVAC_VALVE01_SCHED" + r + "_NE/state"
});
request.done( function(data)
{
if(data == "ON") {
$(".HVAC_VALVE01_SCHED" + r + "_NE").css('background', 'blue');
items["HVAC_VALVE01_SCHED" + r + "_NE"] = "ON";
} else {
$(".HVAC_VALVE01_SCHED" + r + "_NE").css('background', 'black');
items["HVAC_VALVE01_SCHED" + r + "_NE"] = "OFF";
}
});
}
});
我真的不知道该怎么做,所以我会很感激任何帮助。
致以最诚挚的问候,
【问题讨论】:
-
欢迎来到 Stack Overflow!您的问题的全部内容必须在您的问题中in,而不仅仅是链接。链接腐烂,使问题及其答案对未来的人们毫无用处,人们不应该离开现场来帮助你。将minimal reproducible example 放入 问题中,最好使用 Stack Snippets(
<>工具栏按钮)使其可运行(here's how to do one)。更多:How do I ask a good question? -
我还建议您研究 DRY 原则,因为所有这些请求都可以使用循环进行
-
感谢您编辑问题中的代码。您的问题是因为您在每个先前的请求返回任何数据之前覆盖了
request变量 - 请记住请求是异步的
标签: javascript jquery ajax loops