$.getJSON('/Room/GetRooms', {}, function (data) {
for (var i = 0; i < data.length; i++) {
$('#tt').tabs('add', { //添加页签
title: data[i].RoomName,
content: LoadDesk(data[i].Id)
});
}
});
}
function LoadDesk(Id) {
$.getJSON('/Desk/GetDesks', { id: Id }, function (data) {
var strHtml = '<ul style="list-style-type:none"><li class="e">';
for (var i = 0; i < data.length; i++) {
if (data[i].State == 0) {
strHtml += '<img id=' + data[i].DeskName + ' src="/Images/FreeDesk.png"/>';
} else {
strHtml += '<img src="/Images/BusyDesk.png"/>';
}
}
strHtml += '</li></ul>';
return strHtml;
});
}
2 个解决方案
#1
你不会设计异步的流程,你用了同步的思路来写的程序。
异步的流程,在 $.getJSON 回调中去给目标数据 设置目标值,而函数 LoadDesk 根本没有任何返回结果。
异步的流程,在 $.getJSON 回调中去给目标数据 设置目标值,而函数 LoadDesk 根本没有任何返回结果。
#2
我给你打一个比方,比如说你去到某个公司去应聘、参加面试,然后人家如果用你的话就会另行通知你上班事宜。这就是异步流程。
现在如果你背着一个铺盖卷堵住人家公司大门、非要讨个说法,就是硬要人家给你一个同步结果。这不会有好结果。
现在如果你背着一个铺盖卷堵住人家公司大门、非要讨个说法,就是硬要人家给你一个同步结果。这不会有好结果。
#1
你不会设计异步的流程,你用了同步的思路来写的程序。
异步的流程,在 $.getJSON 回调中去给目标数据 设置目标值,而函数 LoadDesk 根本没有任何返回结果。
异步的流程,在 $.getJSON 回调中去给目标数据 设置目标值,而函数 LoadDesk 根本没有任何返回结果。
#2
我给你打一个比方,比如说你去到某个公司去应聘、参加面试,然后人家如果用你的话就会另行通知你上班事宜。这就是异步流程。
现在如果你背着一个铺盖卷堵住人家公司大门、非要讨个说法,就是硬要人家给你一个同步结果。这不会有好结果。
现在如果你背着一个铺盖卷堵住人家公司大门、非要讨个说法,就是硬要人家给你一个同步结果。这不会有好结果。