读书人

getJSON套getJSON?解决思路

发布时间: 2012-10-17 10:25:47 作者: rapoo

getJSON套getJSON?
在利用jquery.js的

$.getJSON("album.ashx", { }, function (data) {
$.each(data.list, function (i, n) {
html = html + "<div id=\""+i+\"">bbb</div>"
});

$("#div1").html(html);

GetOtherList(i)
});

function GetOtherList(i)
{
var html="";
$.getJSON("album.ashx", { }, function (data) {
$.each(data.list, function (i, n) {
html = html + "<div>cccca</div>"
});

$("#"+i).html(html);
});
}

想让GetOtherList函数中的html显示,在第一个$.GetJSON生成<div id=i>中..这样,不行..应该如何做??

[解决办法]
$.getJSON("album.ashx", { }, function (data) {
$.each(data.list, function (i, n) {
html = html + "<div id=\""+i+\"">bbb</div>"+GetOtherList(n.GUID)
});

$("#div1").html(html);
});

function GetOtherList(i)
{
var html="";
$.getJSON("album.ashx", { }, function (data) {
$.each(data.list, function (i, n) {
html = html + "<div>cccca</div>"
});
return html;
});
}
[解决办法]
这个思路根本就是错的,
首先,如果可以这样嵌套ajax,将会和服务器产生非常多次的http请求,这对服务器的性能会产生很大影响
其次,$.each的每次执行的时间都是很快的,而根据每次循环产生的序号再去ajax请求并很天响应是需要时间的,没办法同步

应该换个思路在服务端生成复合的json的序列化上,而不是在客户端

读书人网 >asp.net

热点推荐