首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

getJSON套getJSON?解决思路

2012-10-17 
getJSON套getJSON?在利用jquery.js的$.getJSON(album.ashx, { }, function (data) {$.each(data.list, f

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

热点排行