$ .ajax每次都不从服务器加载数据数据
问题描述:
我已经编写了一个简单的jQuery.ajax函数,它可以在单击按钮时从服务器加载用户控件。第一次点击按钮时,它会转到服务器并让我用户控制。但是每次后续点击同一个按钮都不会到服务器去获取用户控件。
由于我的用户控件从db中获取数据,每次点击按钮时都需要重新加载用户控件。但是,如果以任何方式让我的用户控件从页面卸载,并重新单击该按钮,它将转到服务器并将用户控件提取给我。下面的代码:
$("#btnLoad").click(function() {
if ($(this).attr("value") == "Load Control") {
$.ajax({
url: "AJAXHandler.ashx",
data: { "lt": "loadcontrol" },
dataType: "html",
success: function(data) {
content.html(data);
}
});
$(this).attr("value", "Unload Control");
}
else {
$.ajax({
url: "AJAXHandler.ashx",
data: { "lt": "unloadcontrol" },
dataType: "html",
success: function(data) {
content.html(data);
}
});
$(this).attr("value", "Load Control");
}
});
请让我知道,如果有任何其他的方法可以让我从服务器获取每次加载我按一下按钮我的用户控制。
答
将值false
添加到您传递给jQuery.ajax的对象的cache
属性。
$.ajax({
url: "AJAXHandler.ashx",
cache: false,
data: { "lt": "loadcontrol" },
dataType: "html",
success: function(data) {
content.html(data);
}
});
您可以通过全局设置这样的:
jQuery.ajaxSetup({
cache: false
});
jQuery将用于缓存响应除外SCRIPT/JSONP任何默认。
谢谢马特。问题解决了。 – Ashish 2010-04-03 13:58:06