我正在运行一个 ajax 查询并返回 JSON,其中一个结果是一个名为image.comment
eg
test~63~Dave Sanders~http://graph.facebook.com/998433599/picture?type=large~Dave Sanders~9 minutes ago
我~
用作分隔符
可能有多个类似的数据集由----
in分隔,image.comment
以便解析数据并将其添加到我正在使用的 DOM 中:
if(image.comment){
html += '<div class="msgs_holder'+image.list_id+'">';
// split comment at ----
var comString = image.comment;
var comArray = comString.split("----");
var lengthArray = comArray.length,
element = null;
for (var i = 0; i < lengthArray; i++) {
element = comArray[i];
// split indiv comment at ~
var comUserString = element;
var comUserArray = comUserString.split("~");
html += '<div class="msgs_row"><div class="msgs_pic"><a href="/'+comUserArray[4]+'"><img src="'+comUserArray[3]+'"></a></div>';
html += '<div class="msgs_comment"><a href="/'+comUserArray[4]+'" style="text-decoration:none;"><span class="msgs_name">'+comUserArray[2]+'</span></a> '+comUserArray[0]+'<br><span class="msgs_time" title="'+comUserArray[5]+'">'+comUserArray[5]+'</span></div></div>';
}
html += '</div>';
}
但是页面无法加载,firefox firebug 告诉我:allocation size overflow
这仅发生在列中有数据的 JSON 行comment
上
我怀疑有些可能是无限循环但看不到
我检查了查询,它运行良好,所以不是
这是在js中爆炸的最佳方式吗?
有任何想法吗?
更多信息我这样做的原因是它是一个更大的查询的一部分。加载到页面的图像,每个图像下都有评论。因此,我将评论加载到要解析的列中以供显示。
例子:
Image 1 Image 2 Image 3 etc etc etc
hey i think its great!
hey back! me too
I'm not sure
更多信息 2此数据取自 MySQL 查询,例如
select w.img_width, w.img_height, w.prod_pic_url as preview3,
GROUP_CONCAT(ww.comment,'~', h.user_id,'~', h.name,'~',
h.live_prof_pic,'~', h.twovo_url,'~', time_ago(ww.dateadded) SEPARATOR '----') AS comment
from tableName where blah=blah
GROUP_CONCAT 是上面提到的评论部分
那么,将 JSON 用于数据中的数据,这可能吗?如果有怎么办?
返回数据示例:
"preview3":"http:\/\/myurl.com\/wish_images\/production\/3578.jpg","comment":"test~63~Dave Sanders~http:\/\/graph.facebook.com\/Dave Sanders\/picture?type=large~Dave Sanders~39 minutes ago"},{"item_id":"3559","numComms":"0","numLikes":"0"... etc etc