为了账号安全,请及时绑定邮箱和手机立即绑定

Node.js之get/post请求

标签:
Node.js

摘要

在很多情况下,我们的web服务器都需要接受客户端浏览器传递的参数或者数据。最常见的是get和post请求。

获取get请求的内容

get请求传递的参数在url中,参数部分在?后面。因此可以手动解析后面的内容作为get请求的参数。node.js中url模块中的parse函数提供了这个功能。

一个例子

var http=require("http");var url=require("url");var util=require("util");
http.createServer(function(request,response){
   response.writeHead(200,{"Content-Type":"text/plain"});
   response.end(util.inspect(url.parse(request.url,true)));
}).listen(5544);

启动服务器

浏览器访问

使用parse解析url中的参数

webserver.js核心代码如下:


var http=require("http");var url=require("url");var util=require("util");function start(route){    function onRequest(request,response){
       response.writeHead(200,{"Content-Type":"text/plain"});        //解析url参数
       var params=url.parse(request.url,true).query;
       response.write("my name is "+params.name);
   
       response.end();
   };
   http.createServer(onRequest).listen(5544);
   console.log("web server has started.");
};
exports.start=start;


route.js代码如下:

function route(pathname){
   console.log("request the route "+pathname);
};
exports.route=route;

user.js代码如下

var server=require("./webserver");var router=require("./router");
server.start(router.route);

启动webserver

浏览器浏览

post请求

post请求的内容全部在请求体中,http.ServerRequest并没有一个属性内容为请求体,原因是等待请求体传输可能是一件耗时的工作。

比如上传文件,而很多时候我们可能并不需要理会请求体内容,恶意的post请求会大大消耗服务器资源,所以node.js默认是不会解析请求体的,当你需要的时候,需要手动来做。

一个例子

 http=require("http" url=require("url" util=require("util" querystring=require("querystring"
         post=''
        request.on("data",+=
        request.on("end",=200,{"Content-Type":"text/plain"
         params=url.parse(request.url,"my name is "+5544"web server has started."=start;


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消