我编写了一个简单的 jQuery.ajax 函数,单击按钮即可从服务器加载用户控件。我第一次单击该按钮时,它会转到服务器并获取用户控件。但随后每次单击同一按钮都不会转到服务器来获取用户控件。
由于我的用户控件从数据库获取数据,因此每次点击按钮时我都需要重新加载用户控件。但是,如果无论如何我让我的用户控件从页面卸载,然后重新单击按钮,它就会转到服务器并获取用户控件。代码如下:
$("#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
的 cache
属性添加到传递给 jQuery.ajax 的对象中。
$.ajax({
url: "AJAXHandler.ashx",
cache: false,
data: { "lt": "loadcontrol" },
dataType: "html",
success: function(data) {
content.html(data);
}
});
您可以通过以下方式进行全局设置:
jQuery.ajaxSetup({
cache: false
});
默认情况下,jQuery 将对除 SCRIPT/JSONP 之外的任何内容使用缓存响应。
关于jquery - $.ajax 不每次都从服务器加载数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2571365/