Javascript-使用一个变量获取数组的一部分
Javascript - Using a variable to get a piece of an array
我目前正在开发一个连接到CGI后端的网页。到目前为止,CGI后端工作得很好,但我对JavaScript不太了解,所以我很难从AJAX JSON请求中获得结果。
我所拥有的:
JavaScript函数查询CGI。
CGI以JSON数组进行响应。
{
"ARRAY": [
{
"line": "1",
"numbers": "12321",
"var": "12321",
"var2": "12321"
},
{
"line": "2",
"numbers": "-1",
"var": "12320",
"var2": "6160"
}
]
}
行、数字、var和var2都必须放在表的单独单元格中。
<table>
<tr>
<th>line</th><th>numbers</th><th>var</th><th>var2</th>
</tr>
<tr>
<td>ARRAY[0].line</td><td>ARRAY[0].numbers</td><td>ARRAY[0].var</td><td>ARRAY[0].var2</td>
</tr>
<tr>
<td>ARRAY[1].line</td><td>ARRAY[1].numbers</td><td>ARRAY[1].var</td><td>ARRAY[1].var2</td>
</tr>
</table>
所以,我的问题是:
我永远不知道数组中会有多少个对象。这里有2个,但有时可能有20个。如果需要,我可以修改我的JSON。我该如何使它循环直到碰到最后一个对象?
有几种不同的方法。传统的方法是使用一个简单的for循环:
for (var i = 0, len = ARRAY.length; i < len; i++) {
//Build table row using ARRAY[i].line, etc
}
不久前,我们得到了Array.forEach,只要你不必支持旧版本的IE,它就会很好地工作(你也可以多填充它们):
ARRAY.forEach (function (idx, elt) {
//Build table row using elt.line, etc
});
如果你使用的是jQuery,还有$.each:
$.each(ARRAY, function (idx, elt) {
//Build table row using elt.line, etc
});
下面是一个更完整的例子,说明您需要什么,使用jQuery库(不是必需的,但会让事情变得更容易):
var url = '/cgi-bin/your_script_name.cgi';
var html = '<table><tr><th>line</th><th>numbers</th><th>var</th><th>var2</th></tr>';
$.get(url, function (response) {
$.each(response.ARRAY, function (idx, elt) {
html += '<tr><td>' + elt.line + '</td><td>' + elt.numbers + '</td><td>' + elt.var + '</td><td>' + elt.var2 + '</td></tr>';
});
html += '</table>';
$('#target-element').html(html);
});
在本例中,您将表放入id为target-element
的元素中,cgi脚本位于/cgi-bin/your_script_name.cgi
。如果不能使用jQuery,则需要手动生成XMLHttpRequest
,将其responseType
设置为'json'
,并将函数绑定到onload
(或者,如果支持旧浏览器,则需要onreadystatechange
,然后检查readyState === 4
)。希望能有所帮助。
相关文章:
- Javascript:无法获取变量中的单选按钮值
- 活动选项卡's源代码-获取变量s值
- 使用nodejs从url中获取变量
- Handlebars帮助程序未获取变量的值
- 通过Ajax获取变量
- for 循环和 if 语句,获取变量并存储它
- 从javascript表达式(Rhino)中获取变量
- 如何从 Chrome 扩展程序中的内容脚本中获取变量
- 从对象实例中获取变量名称
- 如何通过 .get() 从文件中获取变量
- 使用chrome.storage.get获取变量
- Rails/JS-在不刷新页面的情况下获取变量
- Jquery:如何获取变量的局部外部函数
- 从外部js文件获取变量
- 如何获取变量's设置元素时的文字值's onclick处理程序
- 从查询字符串中获取变量,将其与Javascript中的数组匹配
- 如何在另一个php文件中从ajax获取变量
- 通过Ajaxrequest.open从Javascript获取变量到PHP文件
- Jade:在Bootstrap Modal中获取变量
- 使用Chrome扩展从以前的选项卡中获取变量