<script>
function Connection(url,callback){
if (window.XMLHttpRequest){
var xmlhttp=new XMLHttpRequest();
}
else{
var xmlhttp=new ActiveXObject(“Microsoft.XMLHTTP”);
}
xmlhttp.onreadystatechange=function(){
if(xmlhttp.status==200)
{
callback(xmlhttp.status);
}
}
xmlhttp.open(“GET”,url,true);
xmlhttp.send();
}
function check(){
Connection("http://localhost:3000/check",function(callback){
console.log(callback);
})
}
setInterval("check()",3000);
</script>
/check code
router.get(’/check’,function(req,res){ fs.readFile(’./result.html’,function(err,data){ if(err) throw err; res.send(200,data.toString()); }) })
控制台显示 GET GET /check 304 2ms GET /check 304 1ms GET /check 304 1ms
网页中显示200 。。。 请问这是怎么回事 是否跟Python 一样 可以设置不允许重定向 返回304 就会返回304 不是重定向到200
标准有规定,如果服务器返回304,客户端浏览器在有缓存情况下可以视为200处理 手动setHeader If-None-Match或者If-Modified-Since就可以获取到真实状态码 这是刚才别人回答的。。。 可是 setHeader If-None-Match或者If-Modified-Since 头的值设成什么呢。。。。
res.send(200,data.toString()); 卧槽。你都指定了抛200出去。还问。
设置的200 控制台显示的是304 我设置了 If-Modified-Since = 0 后 每次控制台都返回 200了