我有这个 HTML 页面,它通过带有多个 ajax 调用的 javascript 填充。我有这本字典,其中填充了一些通过 ajax 调用抓取的 JSON 文本,如本例所示:(实际代码超过 1k 行)
var dict = {}
$.ajax({async: false, type: 'GET', url: '/page/1', success: function(data)
{
dict = JSON.parse(data);
// {'name': 'foo', 'image': '42', 'user': 'bar_user'}
$.ajax({async: false, type: 'GET', url: '/image/'+dict.image,
success: function(data)
{
dict.image = JSON.parse(data);
// {'low_res': 'l.jpg', 'high_res': 'h.jpg'}
}
$.ajax({async: false, type: 'GET', url: '/user/'+dict.user,
success: function(data)
{
dict.user = JSON.parse(data);
// {'email': 'bar@bar.com', 'image': '69'}
$.ajax({async: false, type: 'GET', url: '/image/'+dict.user.image,
success: function(data)
{
dict.user.image = JSON.parse(data);
// {'low_res': 'l_2.jpg', 'high_res': 'h_2.jpg'}
}
}
}
该字典用于使用以下功能填充页面:
function fillImageDiv(img)
{
$('div#image_container > img').attr('src',img.high_res)
}
function fillUserDiv(user)
{
$('div#user_container > span').html(user.email);
$('div#user_container > img').attr('src', user.image.low_res);
}
fillImageDiv(dict.image);
fillUserDiv(dict.user);
考虑到这一点,填充页面的最佳方式是什么?
填充整个字典然后填充 div 会更好,还是在将 JSON 加载到字典后立即填充每个 div?
即使javascript中没有多线程,使ajax调用异步也会使dict填充更快?
调用fillImageDiv
和fillUserDiv
异步呢?
谢谢!