通常如果我们只使用alert(object);它将显示为[object object]。如何在JavaScript中打印对象的所有内容参数?
当前回答
我也遇到过类似的问题,原因是我使用ajax来获取数据。 在这种情况下,我已经做了两个异步ajax调用。在一个我只是返回字符串msg和显示在警报。在第二ajax调用我获取数组列表在json格式和解码它在js。 所以我的第二个请求使用处理第一和我得到对象的警报。
检查一下。 1. 警报应该包含字符串。 2. 如果你得到数组列表或任何其他对象解码它。
祝你一切顺利!
其他回答
如果你只是想要一个对象的字符串表示,你可以使用JSON。stringify函数,使用JSON库。
你也可以使用Prototype的object .inspect()方法,该方法“返回对象的面向调试的字符串表示”。
http://api.prototypejs.org/language/Object/inspect/
简单的函数提醒对象或数组的内容。 用数组或字符串或对象调用此函数,它会提醒内容。
函数
function print_r(printthis, returnoutput) {
var output = '';
if($.isArray(printthis) || typeof(printthis) == 'object') {
for(var i in printthis) {
output += i + ' : ' + print_r(printthis[i], true) + '\n';
}
}else {
output += printthis;
}
if(returnoutput && returnoutput == true) {
return output;
}else {
alert(output);
}
}
使用
var data = [1, 2, 3, 4];
print_r(data);
我也遇到过类似的问题,原因是我使用ajax来获取数据。 在这种情况下,我已经做了两个异步ajax调用。在一个我只是返回字符串msg和显示在警报。在第二ajax调用我获取数组列表在json格式和解码它在js。 所以我的第二个请求使用处理第一和我得到对象的警报。
检查一下。 1. 警报应该包含字符串。 2. 如果你得到数组列表或任何其他对象解码它。
祝你一切顺利!
你可以使用Node的util.inspect(object)来打印出对象的结构。
当你的对象有循环依赖时,这是特别有用的。
$ node
var obj = {
"name" : "John",
"surname" : "Doe"
}
obj.self_ref = obj;
util = require("util");
var obj_str = util.inspect(obj);
console.log(obj_str);
// prints { name: 'John', surname: 'Doe', self_ref: [Circular] }
它是JSON。stringify抛出异常:TypeError:转换循环结构为JSON