
django 博客 ajax 评论:时间显示异常及解决方案
在使用 Django 开发的博客系统中,通过 AJAX 提交评论后,评论时间有时会显示为错误的 "N" 字符串,只有手动刷新页面才能显示正确的时间。此问题主要在 Google Chrome 浏览器中出现。
问题原因及解决方法
该问题很可能是浏览器缓存机制导致的。AJAX 提交评论后,浏览器可能缓存了旧的响应数据,导致时间显示错误。 解决方法是在 AJAX 回调函数中禁用缓存。
代码修改
在 AJAX 成功回调函数中添加以下代码,强制浏览器不缓存 AJAX 请求的响应:
// 禁用 AJAX 缓存
jQuery.ajaxSetup({ cache: false });
完整的 AJAX 代码示例:
$.ajax({
type: "POST",
url: "/comment/create/",
data: data,
success: function(response) {
// 禁用缓存
jQuery.ajaxSetup({ cache: false });
// 更新评论列表
$("#comment-list").html(response.html);
},
error: function(error) {
console.log(error);
}
});
通过添加 jQuery.ajaxSetup({ cache: false }); 这行代码,可以确保每次提交评论后都获取最新的服务器响应,从而解决时间显示错误的问题。 请注意,这行代码应放置在 success 回调函数中,以保证在更新评论列表之前禁用缓存。










