Javascript 循环通过每个JSON响应返回;[对象对象]”;
我有这个关于成功的AJAX函数Javascript 循环通过每个JSON响应返回;[对象对象]”;,javascript,jquery,json,ajax,Javascript,Jquery,Json,Ajax,我有这个关于成功的AJAX函数 success: function(response){ console.log(response); if(response.success){ $.each(response.vote, function(index, value){ alert(value); }); } } 这是来自控制台的JSON响应(请参阅下图) 但是它从警报提示中抛出“[Object Objec
success: function(response){
console.log(response);
if(response.success){
$.each(response.vote, function(index, value){
alert(value);
});
}
}
这是来自控制台的JSON响应(请参阅下图)
但是它从警报提示中抛出“[Object Object]”,有什么想法、线索、帮助、建议、建议吗?不要使用
alert
,而是使用console.log
。您将能够以这种方式查看所有对象,避免收到垃圾邮件
此外,如果您需要查看深层对象,您可以使用类似的方法来打印引用自身的对象(循环引用将无法打印大对象)。
alert
使用对象的toString
方法,该方法将返回此[object]对象。如果你想很好地打印一个对象,你可以使用JSON.stringify(你的对象)
如果你想提醒这个值,而不是使用alert(JSON.stringify(value))在你当前的代码中,值是一个对象,但是,alert只能显示字符串,因此,它将使用.toString
将值
转换为字符串,然后该字符串将成为“[Object Object]”
要将值
显示为键值对,请再次使用JSON.stringify(value)
使其成为JSON
:
success: function(response){
console.log(response);
if(response.success){
$.each(response.vote, function(index, value){
alert(JSON.stringify(value));
});
}
}
如果只想访问值的属性,请使用它们的键:
success: function(response){
console.log(response);
if(response.success){
$.each(response.vote, function(index, value){
// This will alert each items' `bundle` value.
// It's enough in your case, but you may have to check if the target attribute you want to alert is also an object.
alert(value.bundle);
});
}
}
每个值
都是一个对象
,警报将使其成为一个字符串,在值上插入一个.toString,因此您将获得[object object]
。您可以尝试alert({})
,这会给出相同的结果。如果您只想查看该键值对,可以再次将其设置为json
,alert(json.stringify(value))
,但如果您只想访问其值,请使用value.branch
。。。etc是可以的。那么,你知道如何在警报提示中将其呈现为字符串吗?就像我要显示分支一样,我得到每个分支。alert
将对象强制转换为字符串,祖父母Object
类上的toString
方法使用原型链调用,因此它会发出警报[Object Object]
。使用console.log
。有关尝试向对象发出警报的相关问题。那么,您知道如何在警报提示中将其呈现为字符串吗?就像我要显示分支一样,我会得到每个分支。正如@kishan所写的,你可以使用alert(JSON.stringify(value))
,但是如果对象有循环引用,这将失败,但只要尝试一下,对于简单的对象来说完全可以。