我通过Gmail API获取电子邮件并存储一些详细信息,例如:消息片段,日期,发件人等,并使用该数据在页面上显示列表。我成功地从API获取数据并存储在数据库中。但只有当请求完成并重新加载页面时,数据才会显示在页面上。我想这样做,当电子邮件进入数据库时,它们应该出现在页面上。无论请求是否已完成,DOM都应该随着数据进入数据库而更新。我的Ajax调用看起来像这样。
$.ajax({
method: 'post',
url:'refreshMailBox.php',
data:{userId:'<?php echo $email;?>'},
beforeSend: function () {
$("#refreshMsg").html("<img src='images/ajax-loader.gif' alt='...'> <b>Loading...</b>");
},
success: function (response) {
res_obj = JSON.parse(response);
$("#refreshMsg").html("");
totalEmails = res_obj.totalEmails;
var url = window.location.href;
window.history.pushState("", "", url);
location.href = url;
},
error: function (err) {
console.log(err);
},
});
请告诉我如何在数据进入数据库时更新DOM。 ajax调用是否完成并不重要。我们应该在数据库数据中看到是否有新的电子邮件,然后将它们添加到列表div中。 感谢