Javascript AJAX和PHP:如何停止缓存脚本?
问题: 如何包含代币?正在缓存我的show_aht.php。我必须手动刷新show_aht.php,以便在使用aht_按钮进行AJAX调用时在map.php中获取新数据。这非常令人沮丧 当点击aht_按钮时,它会返回数据,但如果我刷新页面和/或重新点击按钮,它仍会显示旧数据或什么也不做。我必须手动刷新浏览器上的“show_aht.php”,然后单击“aht_按钮”,以便显示从“show_aht.php”检索的新数据 我不想发布我的PHP代码,因为它有很多东西。。也许有人能找到问题,因为我不知道。不确定我们是否可以自行重新加载PHP脚本?我只放了重要的东西 提前谢谢 map.php JS:Javascript AJAX和PHP:如何停止缓存脚本?,javascript,php,jquery,ajax,token,Javascript,Php,Jquery,Ajax,Token,问题: 如何包含代币?正在缓存我的show_aht.php。我必须手动刷新show_aht.php,以便在使用aht_按钮进行AJAX调用时在map.php中获取新数据。这非常令人沮丧 当点击aht_按钮时,它会返回数据,但如果我刷新页面和/或重新点击按钮,它仍会显示旧数据或什么也不做。我必须手动刷新浏览器上的“show_aht.php”,然后单击“aht_按钮”,以便显示从“show_aht.php”检索的新数据 我不想发布我的PHP代码,因为它有很多东西。。也许有人能找到问题,因为我不知道。
<div id="aht">
<button id="aht_button">AHT</button>
</div>
<script type="text/javascript">
$(document).ready(function() {
$('#aht').click(function(){
$.ajax({
type:"GET",
url : "show_aht.php", //use a token here??
data:{ } ,
dataType: 'json',
success : function(data){
//get the MIN value from the array
var min = data.reduce(function(prev, curr) {
return isNaN(+curr['aht_value']) || prev < +curr['aht_value'] ? prev : +curr['aht_value'];
}, 1000000);
alert("min:" + min);
//get the MAX value from the array
var max = data.reduce(function(prev, curr) {
return isNaN(+curr['aht_value']) || prev > +curr['aht_value'] ? prev : +curr['aht_value'];
}, -1000000);
alert("max:" + max);
//function for calculation of background color depending on aht_value
function conv(x){
return Math.floor((x - min) / (max - min) * 255);
}
//function for background color, if NA then show white background, either show from green to red
function colorMe(v){
return v == 'NA' ? "#FFF" : "rgb(" + conv(v) + "," + (255-conv(v)) + ",0)";
}
//going through all DIVs only once with this loop
for(var i = 0; i < data.length; i++) { // loop over results
var divForResult = $('#desk_' + data[i]['station']); // look for div for this object
if(divForResult.length) { // if a div was found
divForResult.html(data[i]['aht_value']).css("background-color", colorMe(data[i]['aht_value']));
}//end if
}//end for
}//end success
});//end ajax
});//end click
});//end rdy
</script>
有多种方法可以停止浏览器缓存。一种是发送指示没有缓存的头。发件人: 正确的最小标题集,适用于所有提到的 浏览器:
Cache-Control: no-cache, no-store, must-revalidate Pragma: no-cache Expires: 0
使用PHP:
header('Cache-Control: no-cache, no-store, must-revalidate'); // HTTP 1.1.
header('Pragma: no-cache'); // HTTP 1.0. header('Expires: 0'); // Proxies.
使用HTML:
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />
请注意,此方法取决于浏览器是否支持无缓存头。这不是保证
当链接到不希望缓存的文件时,还可以添加包含当前时间戳的查询字符串变量。由于每次都要转到不同的URL,浏览器将不会缓存。有多种方法可以停止浏览器缓存。一种是发送指示没有缓存的头。发件人: 正确的最小标题集,适用于所有提到的 浏览器:
Cache-Control: no-cache, no-store, must-revalidate Pragma: no-cache Expires: 0
使用PHP:
header('Cache-Control: no-cache, no-store, must-revalidate'); // HTTP 1.1.
header('Pragma: no-cache'); // HTTP 1.0. header('Expires: 0'); // Proxies.
使用HTML:
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />
请注意,此方法取决于浏览器是否支持无缓存头。这不是保证
当链接到不希望缓存的文件时,还可以添加包含当前时间戳的查询字符串变量。由于每次都要转到不同的URL,浏览器将不会缓存。有多种方法可以停止浏览器缓存。一种是发送指示没有缓存的头。发件人: 正确的最小标题集,适用于所有提到的 浏览器:
Cache-Control: no-cache, no-store, must-revalidate Pragma: no-cache Expires: 0
使用PHP:
header('Cache-Control: no-cache, no-store, must-revalidate'); // HTTP 1.1.
header('Pragma: no-cache'); // HTTP 1.0. header('Expires: 0'); // Proxies.
使用HTML:
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />
请注意,此方法取决于浏览器是否支持无缓存头。这不是保证
当链接到不希望缓存的文件时,还可以添加包含当前时间戳的查询字符串变量。由于每次都要转到不同的URL,浏览器将不会缓存。有多种方法可以停止浏览器缓存。一种是发送指示没有缓存的头。发件人: 正确的最小标题集,适用于所有提到的 浏览器:
Cache-Control: no-cache, no-store, must-revalidate Pragma: no-cache Expires: 0
使用PHP:
header('Cache-Control: no-cache, no-store, must-revalidate'); // HTTP 1.1.
header('Pragma: no-cache'); // HTTP 1.0. header('Expires: 0'); // Proxies.
使用HTML:
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />
请注意,此方法取决于浏览器是否支持无缓存头。这不是保证
当链接到不希望缓存的文件时,还可以添加包含当前时间戳的查询字符串变量。由于您每次都要访问不同的URL,浏览器将不会缓存。我以前尝试过使用该URL,但它一直告诉我警告:无法修改标题信息-标题已通过第134行发送,这是我的echo json_编码?感谢您在发送任何其他数据以供浏览器呈现之前必须设置标题。一旦发送数据进行渲染,就会发送头。因此,请确保在第134行之前添加这些行以修改标题。是的,我也这样做了。然而,由于某些原因,它会减慢查看结果的过程,使其显示约2-3秒。我可以做些什么来让它“更快”吗?我以前尝试过使用它,但它一直告诉我警告:无法修改标题信息-标题已经通过第134行发送,这是我的echo json_编码?感谢您在发送任何其他数据以供浏览器呈现之前必须设置标题。一旦发送数据进行渲染,就会发送头。因此,请确保在第134行之前添加这些行以修改标题。是的,我也这样做了。然而,由于某些原因,它会减慢查看结果的过程,使其显示约2-3秒。我可以做些什么来让它“更快”吗?我以前尝试过使用它,但它一直告诉我警告:无法修改标题信息-标题已经通过第134行发送,这是我的echo json_编码?感谢您在发送任何其他数据以供浏览器呈现之前必须设置标题。一旦发送数据进行渲染,就会发送头。因此,请确保在第134行之前添加这些行以修改标题。是的,我也这样做了。然而,由于某些原因,它会减慢查看结果的过程,使其显示约2-3秒。我可以做些什么来让它“更快”吗?我以前尝试过使用它,但它一直告诉我警告:无法修改标题信息-标题已经通过第134行发送,这是我的echo json_编码?感谢您在发送任何其他数据以供浏览器呈现之前必须设置标题。一旦发送数据进行渲染,就会发送头。因此,请确保在第134行之前添加这些行以修改标题。是的,我也这样做了。然而,由于某些原因,它会减慢查看结果的过程,使其显示约2-3秒。我可以做些什么使其“更快”?可以发送始终唯一的查询字符串变量,如日期、时间、分钟和秒。可以发送始终唯一的查询字符串变量,如日期、时间、分钟和秒。可以发送始终唯一的查询字符串变量,如日期、时间、,分钟和秒。可以发送始终唯一的查询字符串变量,如日期、时间、分钟和秒。