jquery - $.ajax 不每次都从服务器加载数据

标签 jquery controls load dynamic

我编写了一个简单的 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");
    }
});

请告诉我是否有其他方法可以在每次单击按钮时从服务器加载用户控件。

最佳答案

将值为 falsecache 属性添加到传递给 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/

相关文章:

testing - 通过桌面应用程序加载测试 Web 服务器

php - 将 JavaScript 事件放置在动态加载的 PHP 表单上

jQuery .show() - Chrome 与 IE 11

jquery - $() 函数返回一个特殊的 JavaScript 对象,其中包含与选择器匹配的 DOM 元素数组

php - PHP 分布式开发的最佳实践

audio - C++中的音频播放控件

javascript - 在将ajax内容加载到div中之前,让slideToggle检查div是否已经打开?

jquery - JPlayer 控件在 IE 中困惑 - 在所有其他浏览器中工作正常

image - 将图像添加到 Inno Setup 卸载程序背景

jquery .load() ,加载一个白色页面