在使用AJAX进行异步数据请求时,通常都是从服务器返回数组或对象,那么如何查看数组或对象的内容呢?我们可以把数组或对象的内容转换成字符串,然后使用alert显示,或者直接显示在页面上。这样比较方便调试,特别是服务器端出现问题的时候,是不会返回我们预想的数组或对象的,而是反悔一串包含错误信息的对象,这时候将对象转成String然后打印出来,查看错误信息就尤其方便了。
使用如下JS函数,将对象或数组转成字符串:
function obj2string(o){
var r=[];
if(typeof o=="string"){
return "\""+o.replace(/([\'\"\\])/g,"\\$1").replace(/(\n)/g,"\\n").replace(/(\r)/g,"\\r").replace(/(\t)/g,"\\t")+"\"";
}
if(typeof o=="object"){
if(!o.sort){
for(var i in o){
r.push(i+":"+obj2string(o[i]));
}
if(!!document.all&&!/^\n?function\s*toString\(\)\s*\{\n?\s*\[native code\]\n?\s*\}\n?\s*$/.test(o.toString)){
r.push("toString:"+o.toString.toString());
}
r="{"+r.join()+"}";
}else{
for(var i=0;i<o.length;i++){
r.push(obj2string(o[i]))
}
r="["+r.join()+"]";
}
return r;
}
return o.toString();
}
该函数是从网上其他网站获得的,感觉非常好用,所以拿出来给大家分享。但是不记得是哪个网站了,所以无法引入原文地址,不过感谢这位作者。