Javascript AJAX和PHP:如何停止缓存脚本?

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代码,因为它有很多东西。。也许有人能找到问题,因为我不知道。

问题:

如何包含代币?正在缓存我的show_aht.php。我必须手动刷新show_aht.php,以便在使用aht_按钮进行AJAX调用时在map.php中获取新数据。这非常令人沮丧

当点击aht_按钮时,它会返回数据,但如果我刷新页面和/或重新点击按钮,它仍会显示旧数据或什么也不做。我必须手动刷新浏览器上的“show_aht.php”,然后单击“aht_按钮”,以便显示从“show_aht.php”检索的新数据

我不想发布我的PHP代码,因为它有很多东西。。也许有人能找到问题,因为我不知道。不确定我们是否可以自行重新加载PHP脚本?我只放了重要的东西

提前谢谢

map.php JS:

<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秒。我可以做些什么使其“更快”?可以发送始终唯一的查询字符串变量,如日期、时间、分钟和秒。可以发送始终唯一的查询字符串变量,如日期、时间、分钟和秒。可以发送始终唯一的查询字符串变量,如日期、时间、,分钟和秒。可以发送始终唯一的查询字符串变量,如日期、时间、分钟和秒。