这是在Jquery中使用此语句的正确位置吗
这是我引用的以下代码这是在Jquery中使用此语句的正确位置吗,jquery,ajax,json,jquery-selectors,Jquery,Ajax,Json,Jquery Selectors,这是我引用的以下代码$.ajaxSetup({cache:false})的语句 我有一个生成JSON的PHP脚本。我使用以下方式使用此json: $.getJSON ("GetDetails.php?id=123", $("#formname").serialize(), function(data){ **$.ajaxSetup ({ cache: false});** //I do all p
$.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()
中使用了相同的语句,但没有用。您的意思有点不清楚。如果要防止浏览器缓存JSON数据,应该让PHP脚本在其头中指定
看你的意思有点不清楚。如果要防止浏览器缓存JSON数据,应该让PHP脚本在其头中指定
请参见该调用在使用AJAX方法之前进行(您只需要运行一次,而不是每次调用之前),如下所示:
$.ajaxSetup ({ cache: false});
$.getJSON ("GetDetails.php?id=123", $("#formname").serialize(), function(data){
//I do all processing with the "data"
});
该调用在您使用希望受其影响的AJAX方法之前进行(您只需要运行一次,而不是每次调用之前),如下所示:
$.ajaxSetup ({ cache: false});
$.getJSON ("GetDetails.php?id=123", $("#formname").serialize(), function(data){
//I do all processing with the "data"
});
相反,您可以使用:
$.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的解决方案。相反,可以使用:
$.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的解决方案