连续几个 ajax 请求可能会导致数据返回为空
(1)每次可能返回最后一个正确数据行,但前面两个数据为空。
initPayerDg(); initHouseDg(); initContractDg();
(2)改成返回中再调用下一个,每次都能正确返回。
function initPayerDg() {
$('#payerListDg').datagrid({
url : '/rest/payer/owners?pyrnum=' + PNO,
onLoadSuccess:function(data){
initHouseDg();
}
});
//$('#payerListDg').datagrid("reload");
}
function initHouseDg() {
$('#houseListDg').datagrid({
url : '/rest/payer/houses?pyrnum=' + PNO,
onLoadSuccess:function(data){
if(data.length>0){
$('#houseListDg').datagrid("selectRow",'0');
}
initContractDg();
}
});
// $('#houseListDg').datagrid("reload");
}
function initContractDg() {
$('#contractListDg').datagrid({
url : '/rest/payer/contracts?pyrnum=' + PNO
});
// $('#contractListDg').datagrid("reload");
}
(3)dataGrid 设置了 url,会自动加载一次数据,不需要用 reload。
(4)解决 easyui datagrid控件页面载入时,两次请求 url 的 json 数据问题,因为如上在 js 设置 url, 会自动调用一次。所以需要注释掉 <table id="payerListDg" <%--class="easyui-datagrid"--%>.../>
本文介绍了如何解决多个连续Ajax请求可能导致的数据返回为空的问题,并提供了一种解决方案:通过在一个请求的成功回调中启动下一个请求来确保数据的正确加载。
481

被折叠的 条评论
为什么被折叠?



