Node.js GET和POST请求

node.js get&post请求详细解析,如下:

获取get请求内容:

var http = require('http');

//请求url
var url = require('url');

//请求util
var util = require('util');

http.createServer(function(req, res){

res.writeHead(200, {'Content-Type': 'text/plain; charset=utf-8'});

//解析路径内容作为get请求参数
res.end(util.inspect(url.parse(req.url, true)));

}).listen(3000);

查看返回结果:

在浏览器中访问:http://localhost:3000/user?name=name&url=url

获取url参数:

http.createServer(function(req, res){

res.writeHead(200, {'Content-Type': 'text/plain;charset=utf-8'});

//解析 url 参数

var params = url.parse(req.url, true).query;

res.write("网站名:" + params.name);

res.write("\n");

res.write("网站 URL:" + params.url);

res.end();

}).listen(3000);

解析post请求体:

var http = require('http');

//请求querystring
var querystring = require('querystring');

var util = require('util');

http.createServer(function(req, res){

//定义了一个post变量,用于暂存请求体的信息

var post = '';

//通过req的data事件监听函数,每当接受到请求体的数据,就累加到post变量中

req.on('data', function(chunk){

post += chunk;

});

//在end事件触发后,通过querystring.parse将post解析为真正的POST请求格式,然后向客户端返回

req.on('end', function(){

post = querystring.parse(post);

res.end(util.inspect(post));

});

}).listen(3000);

 表单通过post提交并输出数据:

var http = require('http');
var querystring = require('querystring');

//创建请求体
var postHTML = 
  '<html><head><meta charset="utf-8"><title>title</title></head>' +
  '<body>' +
  '<form method="post">' +
  '网站名: <input name="name"><br>' +
  '网站 URL: <input name="url"><br>' +
  '<input type="submit">' +
  '</form>' +
  '</body></html>;

http.createServer(function (req, res) {
  var body = "";
  req.on('data', function (chunk) {
    body += chunk;
  });
  req.on('end', function () {
    //解析参数
    body = querystring.parse(body);
    //设置响应头部信息及编码
    res.writeHead(200, {'Content-Type': 'text/html; charset=utf8'});
 
    if(body.name && body.url) { 
        //输出提交的数据
        res.write("网站名:" + body.name);
        res.write("<br>");
        res.write("网站 URL:" + body.url);
    } else {  
        //输出表单
        res.write(postHTML);
    }
    res.end();
  });
}).listen(3000);

以上为node.js get&post请求知识点。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值