node获取头信息数据

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则进行数据发送操作,否则进行页面渲染

原文地址:https://www.cnblogs.com/TomAndJerry/p/9033401.html