修改 这是我从
获得响应的函数$(document).ready(function()
{
$.ajax({
method: "get",
url: 'ctr_seearmylist.php',
dataType: 'jsonp',
data: 'get=squad',
success: processSquads
});
});
这是创建响应的php片段:
{..... //iterates throuh a result taken from the database
$temp[0]=$id;
$temp[1]=$squad_id;
$result[]=$temp;
}
$result=json_encode($result);
}
return $result;
}
如果我调用alert(response.constructor); 我得到了
function Array() {
[native code]
}
结束修改
如何使用jquery或javascript迭代json数组,或者其他什么工作?
我得到的json回复有这样的形式:[[" 1"," 12"],[" 2"," 3&#34 ],[" 3"" 7"]]
我应该提到使用response.length;没有效果
function processSquads(response)
{
alert (response[0][0]); // works and returns 1
alert (response[0]); // works and returns 1,12
alert (response.length); //doesn't work so I can't iterate
}
对于今天的大量问题感到抱歉,但我刚刚开始使用Ajax而且我遇到了问题。
答案 0 :(得分:5)
使用Jquery:
var arr = [["1","12"],["2","3"],["3","7"]];
jQuery.each(arr, function() {
alert(this[0] + " : " + this[1]);
});
//alerts: 1 : 12, etc.
这将迭代数组,然后显示索引0和1中的内容。
答案 1 :(得分:1)
这不是一个json数组,它是一个数组数组
这应该可以正常工作:http://jsfiddle.net/w6HUV/2/
var array = [["1", "12"], ["2", "3"], ["3", "7"]];
processSquads(array);
function processSquads(response) {
alert(response[0][0]); // 1
alert(response[0]); // 1, 12
alert(response.length); // 3
$(array).each(function(i){
alert(response[i]); // 1,12 - 2,3 - 3,7
});
}
答案 2 :(得分:0)
未经测试,但这应该有效:
function processSquads(response)
{
for(var list in response)
{
for(var item in response)
{
alert(item);
}
}
}
答案 3 :(得分:0)
不确定为什么jQuery答案会在此处发布,但您应该找出length
属性无法正常工作的原因。使用hazelnut JavaScript从其中一个答案中发布jQuery代码。
var arr = [["1","12"],["2","3"],["3","7"]];
for(var i = 0; i < arr.length; i++) {
var item = arr[i];
console.log(item[0] + " : " + item[1]);
}
您是否可以在jsfiddle或其他网站上发布可重复的示例?