NodeJs第二天
首先搭建服务器
var express = require("express"); var app = express(); app.listen(3000);
1 获取get请求提交的数据
app.get(pathname, handler)
pathname : 前端提交的url
handler : 处理函数 例 function(req, res){}
2 获取post请求提交过来的数据
需要借助body-parser模块 首先要使用npm install body-parser下载
引用var body-parser = require(“body-parser”)
配置app.use(body-parser.urlencoded({extended:false}));
app.post() 注意 body-parser是post的辅助模块 有了body_parser模块,post可以直接使用app.post获取前端提交的数据
3 上传文件的模块formidable 它不是express的插件 上传文件就是从客户这边上传到服务器 例 上传头像
上传表单时前端需要做的是将method设置成post , enctype设置成multipart/form-data;
后端 首先下载 npm install formidable
引入var formidable = require(“formidable”)
初始化 var form = new formidable()
设置上传临时存储路径 form.uploadDir = ".upload"; =后边的upload要是一个文件夹 跟web app.js是同级的 这个文件夹是要自己新建的
form.parse(req, function(err, fields, file) {})
err: 错误信息
fields: 提交上的文本内容 是一个对象 例如用户名 密码之类的 req.query req.body
file: 文件区域的内容
路由Router 指的就是接口的配置 相当于前端请求过来时的路径
例 app.post("./login",function(req, res) {})
使用方式
@1获取 var router = exprsee.router();
var router = new router()
router.get(xxx,handler) router.post(xxx, handler);
handler函数有3个参数
req :前端请求对象
res :后端请求对象
next:放行函数
@2引入 var router = require("router");
app.use(router);
cookie
设置cookie
原生方法 res.setHeader("set-cookie", "usrname=name")
express方法 res.cookie(key, value, options)
获取
原生方法 req.headers.cookie
express方法 需要借助cookie-parser中间件cookie-parser 该模块的作用是将前端提交过来的请求中的cookie部分 从字符串格式化成对象 并挂载在req.cookies这个属性上
下载 npm install cookie-parser
配置 var cookie = require("cookie-parser")
app.use(cookie())
获取 req.cookie
session 是后端的内存地址 与cookie一样 session也需要借助其他模块express-session
下载 npm install express-session
引用 var session = require("express-session")
配置 app.use(session({
secret : 一个随机字符串 越长越好
resave : false
saveUninitialized :false
}))