我试图理解它是如何工作的。
浏览器 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 始终为空。
有人可以帮助我吗?