request对象和response对象

Request

req.baseUrl 基础路由地址

req.body post发送的数据解析出来的对象

req.cookies 客户端发送的cookies数据

req.hostname 主机地址 去掉端口号

req.ip 查看客户端的ip地址

req.ips 代理的IP地址

req.originalUrl 对req.url的一个备份

req.params 在使用/:id/:name 匹配params

req.path 包含请求URL的路径部分

req.protocol http 或https协议

req.query 查询字符串解析出来的对象 username=zhangsan&password=123 { username:zhangsan }

req.route 当前匹配的路由 正则表达式

req.params 获取路由匹配的参数

req.get 获取请求header里的参数

req.is 判断请求的是什么类型的文件

req.param(key名称) 用来获取某一个路由匹配的参数

Response

res.headersSent 查看http响应是否响应了http头

res.append(名称,value) 追加http响应头

res.attachment(文件路径) 响应文件请求

res.cookie() 设置cookie

res.setHeader('Content-Type','text/html;charset=utf8')

res.append('Content-Type','text/html;charset=utf8')

res.append('hehe','1008')

res.append('haha','1008')

res.attachment('./xx.zip') //Content-Disposition: attachment; filename="xx.zip"

res.clearCookie(cookiename) 删除cookie

res.cookie('zhangsan','lisi') 设置cookie

res.clearCookie('zhangsan') //清除cookie

res.download(文件的path路径) 跟attachment类似 用来处理文件下载的 参数是文件地址

res.end() http模块自带的

res.format() 协商请求文件类型 format匹配协商的文件类型

  res.cookie('zhangsan1','lisi2',{
maxAge:900000, //cookie的过期时间
httpOnly:true, //仅由服务端来设置cookie
path: '/admin',
secure: true,
signed:true
})
res.format({
'text/plain': function(){
res.send('hey');
}, 'text/html': function(){
res.send('<p>hey</p>');
}, 'application/json': function(){
res.send({ message: 'hey' });
}, 'default': function() {
// log the request and respond with 406
res.status(406).send('Not Acceptable');
}
}); res.get('key') 获取响应header数据
res.json() 返回json数据 会自动设置响应header Content-type 为json格式 application/json res.json({
xx:100
}) res.json({
xx:100
}) jsonp 利用的就是浏览器加载其他服务器的文件不会存在跨域问题
ajax请求就会有跨域问题 res.setHeader('Content-Type','text/javascript;charsert=utf8')
res.end(`typeof ${req.query.callback} == 'function' ? ${req.query.callback}({aa:100}):null`) res.jsonp({aaa:100}) 重定向 把访问的地址跳转到另一个地址上
res.redirect(301,'/api/aes') express jade
res.render('index',{title:"hehe",test:"23"})
res.send('') 发送数据 可以是任意类型的数据
res.sendFile() 发送文件的
res.sendStatus(200) 设置发送时的状态码
res.set('Content-Type', 'text/plain') //设置响应header
res.status(200) // 设置状态码
res.type('') // 直接设置响应的文件类型 res.type('pdf') res.send({aa:100})
res.end('ok')
res.end({aa:100}) res.end('你好') res.end(req.get('Accept-Language'))
res.json({
is:req.is('text/html')
}) res.json({
type:req.baseUrl,
hostname:req.hostname,
// ip:req.ip,
// ips:req.ips,
// route:req.route,
ct:req.get('Accept'),
cs:'22'
}) router.get('/:id/:date',(req,res)=>{
console.log(req.params)
// res.json(req.params)
res.end(req.param('date'))
}) router.get('/aes',(req,res)=>{
res.json({
type:req.baseUrl
})
})

express之req res的更多相关文章

  1. TypeError: Object function (req, res, next) { app.handle(req, res, next); } has no method 'configure'

    TypeError: Object function (req, res, next) { app.handle(req, res, next); } has no method 'configure ...

  2. Express 项目,res.cookie() 设置 Cookie 无法被保存在浏览器的 Application 中

    res.cookie() 给客户端响应头封装的 Cookie 无法被保存在客户端浏览器的 Application 中,只能在 Set-Cookie 中看到有这个值: 在前后端分离项目中,存在跨域问题, ...

  3. REq,RES编码设置

    import java.io.IOException; import javax.servlet.Filter;import javax.servlet.FilterChain;import java ...

  4. nodejs:express API之res.locals

    在从零开始nodejs系列文章中,有一个login.html文件 再来看它的get方法,我们并没有看到mess字段.那mess到底是从哪里来的呢? 接着我看到app.js文件里面: 只有这里出现了me ...

  5. nodejs express 框架解密3-中间件模块

    本文档是基于express 3.4.6 的 在上篇中我们提到了中间件,这篇主要解释这个模块,middleware.js 为: var utils = require('./utils'); /** * ...

  6. Express 的基本使用(创建一个简单的服务器)

    Express 的基本使用(创建一个简单的服务器) const express = require('express') // 创建服务器应用程序 // 相当于 http.creatServer co ...

  7. 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 二十五║初探SSR服务端渲染(个人博客二)

    缘起 时间真快,现在已经是这个系列教程的下半部 Vue 第 12 篇了,昨天我也简单思考了下,可能明天再来一篇,Vue 就基本告一段落了,因为什么呢,这里给大家说个题外话,当时写博文的时候,只是想给大 ...

  8. 从壹开始前后端分离 [ Vue2.0+.NetCore2.1] 二十六║Client渲染、Server渲染知多少{补充}

    前言 书接上文,昨天简单的说到了 SSR 服务端渲染的相关内容<二十五║初探SSR服务端渲染>,主要说明了相关概念,以及为什么使用等,昨天的一个小栗子因为时间问题,没有好好的给大家铺开来讲 ...

  9. Vue(服务端渲染)

    一.前言 1.服务端渲染图解                                                 2.简介服务端渲染                             ...

随机推荐

  1. c++ STL概述

    2018-09-26 c++ STL(标准模板库)是一套通过c++模板类实现的标准类库,提供了通用的模板和函数,功能强大,大大的提高了c++的开发效率. c++ STL的核心主要包括三个组件:(1)容 ...

  2. webpack(3)-管理资源

    管理资源:(file-loader 和 url-loader 可以接收并加载任何文件,然后将其输出到构建目录) 加载css:style-loader.css-loader 以style的形式插入到he ...

  3. jQuery动画方法

    下面介绍一些使用jQuery实现动画的方法: html中有如下代码: <button id="btn-box1">show</button> <but ...

  4. unity开发多语言版本

    1.文字部分 ①.文字提取参考 http://www.xuanyusong.com/archives/2987: ②.把提取出来的文字放到excel总转换成繁体等版本: ③.把excel转换成txt文 ...

  5. Mac下创建证书失败

    gdb调试运行出错,需要创建证书 按网上说的,到最后一步直接,按默认创建login类的证书 然后导出证书 再将这个证书导入到系统中

  6. FB面经Prepare: Dot Product

    Conduct Dot Product of two large Vectors 1. two pointers 2. hashmap 3. 如果没有额外空间,如果一个很大,一个很小,适合scan小的 ...

  7. python下载及安装

    1, 许多新学员不知道开始学Python需要安装什么,需要准备什么,特地写下这篇文档给一脸懵逼的新同学们作为指导文档. 2, 首先,学Python需要有一台电脑,这是必须的.老师的系统是windows ...

  8. validationEngine 使用

    引入文件 环境在 jQuery 下 , 所有先要引入 jQuery <%--校验样式--%> <link rel="stylesheet" href=" ...

  9. 腾讯笔试编程题,贪吃的小Q(二分查找)

    问题描述 小Q的父母要出差N天,走之前给小Q留下了M块巧克力.小Q决定每天吃的巧克力数量不少于前一天吃的一半,但是他又不想在父母回来之前的某一天没有巧克力吃,请问他第一天最多能吃多少块巧克力. 输入描 ...

  10. centos6.5 MySQL数据库的安装

    <div id="home"><div id="header"> <div id="blogTitle"> ...