微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JS(Jquery) 和 PHP Etag 在 Apache 上不起作用

如何解决JS(Jquery) 和 PHP Etag 在 Apache 上不起作用

我试图了解它是如何工作的很长一段时间。

浏览器 Chrome。阿帕奇。

我创建了 js 和 PHP 代码,但它不起作用。 据我了解,第一次 - 用 js 发送请求到 PHP,第二次 - PHP 将 etag 添加标题,第三次 - 刷新后 js 在标题中发送 if-none-match

JS(JQuery):

$.ajax({
            async:false,type: "POST",ifModified: true,url: 'trackETAG.PHP',withCredentials:true,data: { track: true},success: function (data){
                newData = data;
            },complete: function(XMLHttpRequest,textStatus){
                var eTag = XMLHttpRequest.getAllResponseHeaders();
                var newEtag = eTag;
            }
        });

PHP

<?PHP
if(!empty(isset($_POST["track"]))){
    header('Access-Control-Allow-Origin: *');
    header('Access-Control-Allow-Methods: GET,POST');
    header("Access-Control-Allow-Headers: Origin,X-Requested-With,Content-Type,Accept,Etag,if-none-match");
    header("Cache-Control: must-revalidate,post-check=0,pre-check=0");
    header("Etag: 123");


    $temp = null;
    $zte = null;
    $temp = trim($_SERVER['HTTP_IF_NONE_MATCH']);
     $zte = $temp;
}
?>

HTTP_IF_NONE_MATCH 始终为空。

Example

有人可以帮助我吗?

解决方法

请求类型有问题。 Etag 仅适用于我的程序中的 GET

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。