【发布时间】:2015-06-08 17:50:52
【问题描述】:
好的,所以我有一些代码以 javascript 数组的形式从服务器获取数据。
我一直在研究原型,发现您可以使用 slice 选择数组的一部分,但即使查看示例,我似乎也无法找出它是如何工作的。
到目前为止,我有一个 module.js 可以加载数据并指向我的索引页面
$.ajaxSetup({
data: {
apptoken: apptoken
}
});
var promise1 = $.get(dbidApplication, {
a: "dbpage",
pagename: "index.html"
});
var promise2 = $.get(dbidTable, {
act: "API_GenResultsTable",
query: "{3.EX." + kRid + "}",
jsa: 1,
options: "num-1",
});
$.when(promise1, promise2).then(function(templateArgs, dataArgs) {
var template = templateArgs[0];
var markup = Mustache.render(template, qdb_data);
document.write(markup);
$("#formContents").html(markup);
});
我的 index.html 页面除了
之外完全是空白的var stringit = qdb_data.toString();
var stationid = stringit.slice(4);
console.log(stationid);
在控制台上它显示了我的 stringit 并且在 4 中有数据,所以我不确定我到底做错了什么......总之我正在尝试使用数组来填充模板。
这是我之前的查询返回的内容
var qdb_data = new Array();
qdb_data[0] = new Array();
qdb_data[0][0] = "VL14799- FT5850";
qdb_data[0][1] = "05-13-2015";
qdb_data[0][2] = "";
qdb_data[0][3] = "TANK PROPANE";
qdb_data[0][4] = "PLANT";
qdb_data[0][5] = "PROPANE";
qdb_data[0][6] = "TANK 31 PROPANE";
qdb_data[0][7] = "PLANT";
qdb_data[0][8] = "TANK 31 PROPANE";
qdb_data[0][9] = "PROPANE";
qdb_data[0][10] = "PROPANE";
qdb_data[0][11] = "100 PSI";
qdb_data[0][12] = "59 F";
qdb_data[0][13] = "411";
qdb_data[0][14] = "";
qdb_data[0][15] = "";
qdb_data[0][16] = "BR";
【问题讨论】:
-
注意:在文档加载完成后使用
document.write()将首先将其重置为没有内容,然后再写入参数。 -
那不是
Array.prototype.slice,那是String.prototype.slice。 -
为什么在尝试使用
.slice()之前将二维数组转换为字符串?这对我来说毫无意义。您已经展示了qdb_data数组的样子。请在.slice()调用后显示您想要实现的确切数据结构。如果您想要数组形式的内容子集作为结果,您不会先转换为字符串。此外,根本不清楚您问题中的第一个代码块与该问题有什么关系。该代码块中没有对.slice()的引用。 -
预期结果是什么 a) 调用
.toString();? ; b)var stationid = stringit.slice(4);? -
@billyonecan:就目前而言,您的陈述是正确的,但 String.prototype.slice() 也是一个函数。这不是问题要问的函数,但不应该调用它产生不同的错误吗?
标签: javascript jquery arrays