NodeJS系列第一个小例子,实现了requestquerystring功能.docx

上传人:小飞机 文档编号:3162161 上传时间:2023-03-11 格式:DOCX 页数:4 大小:37.81KB
返回 下载 相关 举报
NodeJS系列第一个小例子,实现了requestquerystring功能.docx_第1页
第1页 / 共4页
NodeJS系列第一个小例子,实现了requestquerystring功能.docx_第2页
第2页 / 共4页
NodeJS系列第一个小例子,实现了requestquerystring功能.docx_第3页
第3页 / 共4页
NodeJS系列第一个小例子,实现了requestquerystring功能.docx_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《NodeJS系列第一个小例子,实现了requestquerystring功能.docx》由会员分享,可在线阅读,更多相关《NodeJS系列第一个小例子,实现了requestquerystring功能.docx(4页珍藏版)》请在三一办公上搜索。

1、NodeJS系列第一个小例子,实现了requestquerystring功能NodeJS系列第四个小例子,NodeJs处理Get请求和Post请求 返回目录 说在前 对于HTTP请求来说,我们通常使用的是Get和Post,除此之外还有put,delete等,而对于get来说,比较lightweight,只是对字符串的传输,它会被添加到URL地址里,属于URL的一部分,有时,我们为了安全和兼容性问题,URL地址上的参数会进行Url.Encode,有的浏览器已经带我们做了这些;而对于Post来说,就显得重了一些,它的数据以包的形式存在,除了可以有文本信息,还可以有二进制文件流信息,这讲里,我们主要

2、说的是Post里的文本处理。 做在后 一 使用NodeJs实现对Get请求的处理,nodejs接入的形式为url?param1=zzl¶m2=male var redis = require(redis); var http = require(http); var url = require(url); var info = 通过HTTPGet方式成功加入队列; http.createServer(function (req, res) var params = url.parse(req.url, true).query;/解释url参数部分name=zzl&email=zzl v

3、ar client = redis.createClient; client.lpush(topnews, params.info); res.writeHead(200, Content-Type: text/plain;charset=utf-8 ); client.lpop(topnews, function (i, o) console.log(o);/回调,所以info可能没法得到o的值,就被res.write输出了 ) client.quit; res.write(info); res.end; ).listen(8000, 127.0.0.1); console.log(Serv

4、er running at http:/127.0.0.1:8000/); 测试:http:/127.0.0.1:8000?info=zzl 二 使用NodeJs实现对Post请求的处理,nodejs接入的形式为param1=zzl,param2=male Post由于它的重量,所以不可能说接收就接收,它会存储接入中和接入完成两种状态,两种状态对应着回调方法,即,当然数据处于接入中状态时,处理一种流程;当数据接入完成后,处理另一种流程。 /接入中 req.addListener(data, function (postDataChunk) ); /接收完成 req.addListener(en

5、d, function ); 下面看一下完成的代码: var redis = require(redis); var http = require(http); var url = require(url); var querystring = require(querystring); http.createServer(function (req, res) / 设置接收数据编码格式为 UTF-8 req.setEncoding(utf-8); var postData = ; /POST & GET : name=zzl&email=zzl / 数据块接收中 req.addListene

6、r(data, function (postDataChunk) postData += postDataChunk; ); / 数据接收完毕,执行回调函数 req.addListener(end, function console.log(数据接收完毕); var params = querystring.parse(postData);/GET & POST /解释表单数据部分name=zzl,email=zzl console.log(params); console.log(paramsname); PushToRedis(paramsname); res.writeHead(500,

7、 Content-Type: text/plain;charset=utf-8 ); res.end(数据提交完毕); ); ).listen(8000, 127.0.0.1); console.log(Server running at http:/127.0.0.1:8000/); /表单接收完成后,再处理redis部分 function PushToRedis(info) var client = redis.createClient; client.lpush(topnews, info); console.log(PushToRedis: + info); client.lpop(topnews, function (i, o) console.log(o);/回调,所以info可能没法得到o的值,就被res.write输出了 ) client.quit; 下面看一下结果,我把它截了图: 实事上,对于post到nodeJS再由nodeJS到redis,这个case我们经常会看到,它实现起来比IIS,apache在性能上要高很多,它没有为每个连接建立线程,它解决了IO阻塞等等,OK,说到这里,我再强调一个nodeJS用到的最重要的场合:逻辑简单的高并发场合!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号