博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Node.js 从入门到茫然系列——入门篇
阅读量:5831 次
发布时间:2019-06-18

本文共 1106 字,大约阅读时间需要 3 分钟。

在创建服务的时候,我们一般代码就是:

var http = require("http");var server = http.createServer(function(req,res){    res.end("ok")});server.listen(3000)

目前我们最流行的就是逃出回调的约束,所以,我们换一种写法:

var http = require("http");var server = http.createServer();server.on('request',function(req,res){    res.end("ok");})server.listen(3000)

设置头信息

res.writeHead(200,{   //返回请求状态    'Content-type':'text/html',   // 实体的主体部分是什么
'Set-Cookie':['user=futianyu','id=123456','password=369852147']  //设置私有 cookie 这里除了 Cookie内置的属性外,自定义多少个值就有多少个 cookie});

设置头信息的时候,如果设置的状态是 302:

res.writeHead(302,{    'Content-type':'text/html',    "Location":"/a/index.html"});

并且没有在对 “/a/index.html”这个页面做其它头信息的设置,则浏览器会报错 “重定向次数过多”。

很多时候我们还觉得经常写

res.writeHead(code,head);res.write(str);res.end();

挺烦的,这个时候我们真希望给 res 自定义一个函数,直接将状态以及要发送的内容,并且将响应给结束掉。这个时候我们可以给 “http.ServerResponse”添加属性。

http.ServerResponse.prototype.setResponseEnd = function(code,head){    this.writeHead(code,head);    this.write(str);    this.end();}
里面的 this 指向的就是 response 。可以随意添加了,express 也是这么做的哦,只是代码写的比我好看。在需要调用的地方直接调用
res.setResponseEnd()
 

转载于:https://www.cnblogs.com/fws407296762/p/5398688.html

你可能感兴趣的文章
Java annotation 自定义注释@interface的用法
查看>>
Apache Spark 章节1
查看>>
phpcms与discuz的ucenter整合
查看>>
Linux crontab定时执行任务
查看>>
mysql root密码重置
查看>>
33蛇形填数
查看>>
选择排序
查看>>
SQL Server 数据库的数据和日志空间信息
查看>>
前端基础之JavaScript
查看>>
自己动手做个智能小车(6)
查看>>
自己遇到的,曾未知道的知识点
查看>>
P1382 楼房 set用法小结
查看>>
分类器性能度量
查看>>
windows 环境下切换 python2 与 pythone3 以及常用命令
查看>>
docker 基础
查看>>
解决灾难恢复后域共享目录SYSVOL与NELOGON共享丢失
查看>>
Lync 客户端单独安装激活步骤
查看>>
eclipse集成weblogic开发环境的搭建
查看>>
写一个bat文件,删除文件名符合特定规则,且更改日期在某
查看>>
【jc2-1】 网络层IP编址
查看>>