这可能是我代码中其他地方的问题,但我希望这里有线索。
我正在使用 jQuery AJAX 调用来更新我的 MySQL 数据库,然后使用另一个来读取数据库并更新我页面上的表。我的问题是我正确更新了数据库,但是我的第二个 AJAX 调用(包装在一个函数中)正在返回旧数据。但是,如果我再次触发该功能,它会完美运行。
这是第一个 AJAX 调用:
$.ajax ({
cache: false,
type: 'POST',
url: 'qry_creats_record.php',
data: {
equipID : $('#equip_id').val(),
dateSent : $('#txt_to_repair').val(),
organization : $('#organization').val(),
success: function() {
ServiceTable($('#equip_id').val()); <--CALLS SECOND FUNCTION
}
}
});
效果很好,完美更新数据库。然后我想用这个函数更新页面(在我第一次调用的“成功”部分调用):
function ServiceTable(equipID) {
var serviceRecords = $.ajax ({
cache: false,
type: 'POST',
url: 'qry_show_repairs_table.php',
async: false,
data: { equip_id : equipID
},
success: function() {
return data;
}
}).responseText;
$('#serviceRecordsTable').html(serviceRecords);
}
第二个函数也很好用,如果我从按钮调用它,它会更新页面元素“serviceRecordsTable”。但是当我从第一次调用的“成功”部分调用它时,它会返回旧的、未更新的数据。我在我的第二个函数中放置了一个“警报”框以查看发生了什么,它确认该函数确实看到了来自我的数据库的旧的、预先更新的数据。但是,如果我从页面上的按钮激活第二个功能,第二个功能会使用新数据刷新我的页面。
真的卡住了。任何帮助表示赞赏。