这是在 Jquery 中使用此语句的正确位置吗
Posted
技术标签:
【中文标题】这是在 Jquery 中使用此语句的正确位置吗【英文标题】:Is this the Correct place of using this statement in Jquery 【发布时间】:2011-04-30 11:14:43 【问题描述】:这是我引用以下代码的语句$.ajaxSetup ( cache: false);
我有一个生成 JSON 的 php 脚本。我正在使用这个 json:
$.getJSON ("GetDetails.php?id=123",
$("#formname").serialize(),
function(data)
**$.ajaxSetup ( cache: false);**
//I do all processing with the "data"
);
我在堆栈溢出中看到了各种关于缓存的问题,我知道这也消除了缓存
-
$.ajaxSetup ( cache: false);
通过附加时间
有什么方法可以克服缓存。当我使用它时,它仍在缓存中。我在 $.documnet.ready()
中使用了相同的语句,但没有用。
【问题讨论】:
【参考方案1】:$.ajaxSetup()
调用在您希望受其影响的 AJAX 方法的使用之前(您只需要运行一次,而不是在每次调用之前),如下所示:
$.ajaxSetup ( cache: false);
$.getJSON ("GetDetails.php?id=123", $("#formname").serialize(), function(data)
//I do all processing with the "data"
);
【讨论】:
【参考方案2】:相反,您可以使用:
$.ajax(
url: "GetDetails.php?id=123",
dataType: 'json',
data: $("#formname").serialize(),
cache: false,
success: function(data)
//I do all processing with the "data"
);
);
这将禁用该特定查询的缓存,因此您可以对其他查询使用.ajax
调用的正常、启用缓存的版本。如果您想在整个应用程序中禁用缓存,可以使用 Nick 的解决方案。
【讨论】:
【参考方案3】:有点不清楚你在说什么。如果您想防止浏览器缓存 JSON 数据,您应该让 PHP 脚本在其标头中指定它。
见http://articles.sitepoint.com/article/php-anthology-2-5-caching
【讨论】:
以上是关于这是在 Jquery 中使用此语句的正确位置吗的主要内容,如果未能解决你的问题,请参考以下文章