req.fresh
req.stale
var version = 100;
app.get('/test',function(req,res){
res.set('etag',version);
if(req.fresh){
res.send();
}else{
res.send('version'+version);
}
})
一般的,浏览器在访问过某一链接后,下次调用会将资源加载进缓存,下次加载时直接调用
通过req的fresh和stale可以判断是否是加载缓存进来的,进而进行一些逻辑方面的操作
判断是否是ajax请求
新建页面index.html
创建如下代码:
<script type="text/javascript">
var xhr = new XMLHttpRequest();
xhr.open('GET','/ajaxTest',true);
xhr.setRequestHeader('x-requested-with','XMLHttpRequest');
xhr.send();
</script>
在后端创建处理的路由:
app.get('/ajaxTest',function(req,res){
console.log('is xhr',req.xhr);
if(req.xhr){
res.send();
}else{
res.render();
}
});
如果是ajax则进行数据发送操作,否则进行页面渲染