我正在尝试编写一个简短的脚本来获取一些数据。我的想法是,我认为必须可以将变量插入到链接中,而不是编写大量 JavaScript 文件并且我总是需要在链接中对 ID 进行硬编码。现在我遇到的问题是,我只能看到 var 的最后一个值,因为看起来 var 会一直被覆盖,而不是简单地将 ID 添加到输出中。我希望你能帮助我。
这是代码:
myConnector.getData = function(table, doneCallback) {
var date = new Date();
edate = date.toISOString().slice(0,10) + "-23-59-59";
var ids = ["3775", "6697"]
for ( i = 1; i < ids.length; i++)
var id_temp = ids[i];
{
$.getJSON("https://****/api/historicdata.json?id="+id_temp+"&avg=0&sdate=2016-12-12-00-00-00&edate="+edate+"&username=***&passhash=****", function(resp) {
var feat = resp.histdata,
tableData = [];
// Iterate over the JSON object
//String id = UUID.randomUUID().toString();
for (var j = 0, len = feat.length; j < len; j++) {
tableData.push({
//"no" : j,
"ids" : id_temp,
"datetime": feat[j].datetime,
"value": feat[j].value,
"value_raw": feat[j].value_raw,
"coverage": feat[j].coverage,
"coverage_raw": feat[j].coverage_raw
});
}
table.appendRows(tableData);
});
};
doneCallback();
};
最佳答案
问题是 id_temp
仅使用最后一个值进行设置,因为 {
位于错误的位置。
这个:
var ids = ["3775", "6697"]
for ( i = 1; i < ids.length; i++)
var id_temp = ids[i];
{
应该是:
var ids = ["3775", "6697"]
for ( i = 1; i < ids.length; i++)
{
var id_temp = ids[i];
//... rest of loop ...
关于JavaScript 覆盖我的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41115565/