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的序列化上,而不是在客户端