req.xhr判断请求来自ajax还是普通请求;

若为ajax则是为true

这个属性是通过判断headers中的

x-requested-with的值来判断的

下面是来自ajax的请求:

 1   host: 'localhost:3000',
2 connection: 'keep-alive',
3 accept: '*/*',
'if-none-match': 'W/"b5-nK3C+n/aPR++6ICHo9ZKmQ"',
5 'user-agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.8 Safari/537.36',
'x-requested-with': 'XMLHttpRequest',
referer: 'http://localhost:3000/',
8 'accept-encoding': 'gzip, deflate, sdch',
9 'accept-language': 'zh-CN,zh;q=0.8',
10 cookie: 'privatecloud_sid=s%3AXUaL1RJr1h2r6yb52djAwrK3TWaIL91V.iuM%2FJ5a0MgnJcBrBPBOqFVShhezZly%2BwxxZ2O2bIa%2Bg'

下面是普通求求:

 1   host: 'localhost:3000',
2 connection: 'keep-alive',
pragma: 'no-cache',
'cache-control': 'no-cache',
'upgrade-insecure-requests': '1',
6 'user-agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.8 Safari/537.36',
7 accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
8 'accept-encoding': 'gzip, deflate, sdch',
9 'accept-language': 'zh-CN,zh;q=0.8',
10 cookie: 'privatecloud_sid=s%3AXUaL1RJr1h2r6yb52djAwrK3TWaIL91V.iuM%2FJ5a0MgnJcBrBPBOqFVShhezZly%2BwxxZ2O2bIa%2Bg'

以上是通过req.headers打印出来的;

红色为相同属性,其他为不同属性;可以根据这些属性来做判断;

req.xhr在express中的应用的更多相关文章

  1. express中的错误处理

    错误处理 定义错误处理中间件和定义其他中间件一样,除了需要 4 个参数,而不是 3 个,其格式如下 (err, req, res, next).例如: app.use(function(err, re ...

  2. express 中文文档

    express() 创建一个express应用程序 var express = require('express'); var app = express(); app.get('/', functi ...

  3. Node+Express中请求和响应对象

    在用 Express 构建 Web 服务器时,大部分工作都是从请求对象开始,到响应对象终止. url的组成: 协议协议确定如何传输请求.我们主要是处理 http 和 https.其他常见的协议还有 f ...

  4. 精华 对express中next函数的一些理解

        关于next主要从三点来进行说明: next的作用是什么? 我们应该在何时使用next? next的内部实现机制是什么? Next的作用 我们在定义express中间件函数的时候都会将第三个参 ...

  5. nodejs+express中设置登录拦截器

    在nodejs+express中,采用nodejs后端路由控制用户登录后,为了加强前端的安全性控制,阻止用户通过在浏览器地址栏中输入地址访问后台接口,在app.js中需要加入拦截器进行拦截: /*** ...

  6. Express ( MiddleWare/中间件 路由 在 Express 中使用模板引擎 常用API

    A fast, un-opinionated, minimalist web framework for Node.js applications. In general, prefer simply ...

  7. 在Express中安装XTemplate

    上一节讲了安装Express,并且生成了一个"microblog"的工程,我们的目标是在工程下安装XTemplate: 1.安装xtpl npm install xtpl xtem ...

  8. [转] 对express中next函数的一些理解

    最近公司在使用node做前后端分离,采用的web框架是express,所以对express框架进行了深入的了解,前段时间写了篇关于express路由的文章,但是在那篇文章中貌似少了一个很重要的内容,就 ...

  9. 理解express中的中间件

    express是轻量灵活的node.js Web应用框架”.它可以帮助你快速搭建web应用.express是一个自身功能极简,完全是由**路由**和**中间件**构成的一个web开发框架,本质上说,一 ...

随机推荐

  1. If-Modified-Since和If-None-Match

    If-Modified-Since & If-None-MatchIf-Modified-Since,和 Last-Modified 一样都是用于记录页面最后修改时间的 HTTP 头信息,只是 ...

  2. Go语言(golang)开源项目大全

    转http://www.open-open.com/lib/view/open1396063913278.html内容目录Astronomy构建工具缓存云计算命令行选项解析器命令行工具压缩配置文件解析 ...

  3. Inno Setup技巧[界面]添加和自定义左下角标签

    原文 http://blog.sina.com.cn/s/blog_5e3cc2f30100cc49.html 本文介绍添加和自定义“左下角标签”的方法. 界面预览: Setup技巧[界面]添加和自定 ...

  4. zookeeper 各节点数据保证是弱一致性

    一致性保证: ZooKeeeper 是一个高性能的,可扩展的服务.不管是读和写操作是被设计成快速,虽然读比写快. 这样做的原因是在读的情况下,Zookeeper 可以提供旧的数据, 反过来又是由于Zo ...

  5. (十)boost库之多线程

    (十)boost库之多线程 1.创建线程 使用boost库可以方便的创建一个线程,并提供最多支持9个参数的线程函数,相对于void*来说,方便了很多,创建线程主要提供了一下3种方式: 线程库头文件:# ...

  6. xcode 5与ios 7的屏幕适配问题

    #define DEVICE_IS_IPHONE5 ([[UIScreen mainScreen] bounds].size.height == 568) float height = DEVICE_ ...

  7. Java webservice

    webservice:     就是应用程序之间跨语言的调用    1.xml    2.    wsdl: webservice description language web服务描述语言     ...

  8. SQL Server插入中文数据后出现乱码

    今天在做项目的过程中遇到如标题的问题,情况如下图: 数据库使用的是SQL Server2012版本,创建表的脚本如下: CREATE TABLE [dbo].[Type](  [TypeId] INT ...

  9. Android 大神博客汇集

    非常给力的CSDNBlog和个人Blog,这些Blog都有一个共同的特点,即内容详实,讲解透彻,也算是给后来的初学者指一条路吧!只要你下定决心跟随强者的脚步,成为人们眼中的大神,只不过是时间问题! 下 ...

  10. javascript获取元素结点到页面的绝对距离的方式

    var div = document.getElementById('div');var p = getPos(div); function getPos(obj) { var pos = {left ...