【发布时间】:2012-05-18 09:44:52
【问题描述】:
我已经为我的 django 应用程序设置了 memcached(unix 套接字)。然而,当 memcached 开启时,似乎某些 ajax 请求无法正常工作。我在整个网站上都使用 memcached。
例如,在这个 javascript 函数中,.load() 指令第一次工作,但之后它继续从缓存中“获取”相同的页面。
function placeBet(user, bet) {
var ajax_data = {
status:false,
message: ''
}
$.ajax({
url:'/place_bet/' + user + '/?ajax=&bet=' + bet,
type:"POST",
dataType:"json",
data:ajax_data,
success:function (data){
var message = "";
$('#user_open_bets').load('/ob/' + user + '/?ajax=');
if (data.status == false){
alert(data.message);
}
} // success
}); // ajax
}
如何强制这些 ajax 请求从数据库而不是从缓存中重新加载?
编辑。
这是我的settings.py MIDDLEWARE 课程
MIDDLEWARE_CLASSES = (
'django.middleware.cache.UpdateCacheMiddleware',
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'debug_toolbar.middleware.DebugToolbarMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'main.common.tz_middleware.TimezoneMiddleware',
'main.common.sslMiddleware.SSLRedirect',
'django.middleware.cache.FetchFromCacheMiddleware',
【问题讨论】:
-
我也在使用 memcached。我找不到任何特定于 ajax 请求的问题。它是特定于某些浏览器的吗?
-
没有。每个浏览器都会发生这种情况。即使在不同的计算机上。我粘贴我的
settings.pyMIDDLEWARE课程