我有一个ajax函数,可以获取数据库中的所有数据...
但是,当我尝试执行.each
函数时,它说result.each
不是函数。
这是我的代码。
我的阿贾克斯的结果:
[
{"UnitID":"1","Description":"sample1","Status":"1"},
{"UnitID":"2","Description":"sample 2","Status":"1"}
]
j查询代码:
function PopulateTable(table){
var $this = $(table);
var $url = $this.data('url');
$.ajax({
url: $url,
type: 'POST',
success: function(result) {
console.log(result);
result.each(function(k, v){
console.log(k + " " + v);
});
}
});
}
不知道这怎么了..提前感谢...
jQuery针对不同的用途定义了两次.each()
:
-
.each()
方法仅适用于jQuery
元素集合。 -
但是,
jQuery.each()
函数可以与任何集合或对象一起使用。
由于result
是一个Array
,您需要使用后一种形式进行迭代,并将其作为参数提供:
success: function(result) {
console.log(result);
jQuery.each(result, function(k, v){
console.log(k + " " + v);
});
}
旁注:如果您在日志中看到[object Object]
...
每次迭代中的v
将引用数组中的一个对象,上面的字符串是将对象转换为字符串时给出的默认输出,+
将为您做。
要显示来自对象的信息,您可以访问其属性:
jQuery.each(result, function (k, v) {
console.log(k + ' ' + v.UnitID + ' ' + v.Description);
});
此外,在许多环境/浏览器中,当您将对象作为单独的参数提供时,控制台将自动格式化其所有内容或将其显示为交互式树菜单:
console.log(k, v);