express的中间件cookieParser详解
cookieParser中间件用于获取web浏览器发送的cookie中的内容.在使用了cookieParser中间件后,
代表客户端请求的htto.IncomingMessage对象就具有了一个cookies属性,该属性之为一个对象的数组,
其中存放了所有web浏览器发送的cookie,每一个cookie为cookies属性值数组中的一个对象.
index.html代码:
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>向服务器上传文件</title>
<script type="text/javascript">
function submitCookie(){
var xhr=new XMLHttpRequest();
xhr.open("post","index.html",true);
document.cookie="firstName=思思";
document.cookie="userName=博士";
xhr.onload= function (e) {
if(this.status==200)
document.getElementById("res").innerHTML=this.response;
};
xhr.send();
}
</script>
</head>
<body>
<h1>cookieParser中间件的使用</h1>
<input type="button" value="提交cookie" onclick="submitCookie();" />
<div id="res"></div>
</body>
</html>
server.js代码:
var express=require("express");
var fs=require("fs");
var app=express();
app.use(express.cookieParser());
app.get("/index.html", function (req,res) {
res.sendfile(__dirname+"/index.html");
});
app.post("/index.html", function (req,res) {
for(var key in req.cookies){
res.write("cookie名:"+key);
res.write(",cookie值:"+req.cookies[key]+"<br />");
}
res.end();
});
app.listen(1337,"127.0.0.1", function () {
console.log("开始监听1337");
});
测试结果