node.js 学习第十四天 get/post

来源:互联网 发布:树莓派3b ubuntu mate 编辑:程序博客网 时间:2024/06/05 10:07

一、网络请求

var http=require('http');
var url=require('url');
var util=require('util');
//①、简单的网络请求
// http.createServer(function req (req,res) {
// res.writeHead(200,{'Content-Type':'text/plain'});
// //inspect 隐藏的信息
// res.end(util.inspect(url.parse(req.url,true)));
// }).listen(9999);
//②、获取url的参数
// http.createServer(function(req,res){
// res.writeHead(200,{'Content-Type':'text/plain'});
// //解析url
// var params=url.parse(req.url,true).query;
// res.write('name--->'+params.name+'\n');
// res.write('url--->'+params.url);
// res.end();


// }).listen(9999);


//post请求
var queryString=require('querystring');
var postHTML = 
  '<html><head><meta charset="utf-8"><title> Node.js 实例</title></head>' +
  '<body>' +
  '<form method="post">' +
  '信息1: <input name="name"><br>' +
  '信息2: <input name="url"><br>' +
  '<input type="submit">' +
  '</form>' +
  '</body></html>';
http.createServer(function(req,res){
//postData的数据暂存信息
var postData='';
// 通过req的data事件监听函数,每当接受到请求体
//的数据,就累加到post变量中
req.on('data',function(chunk){
postData+=chunk;
});
//请求结束
req.on('end',function(){
postData=queryString.parse(postData);
// res.end(util.inspect(postData));
res.writeHead(200, {'Content-Type': 'text/html; charset=utf8'});
 
    if(postData.name && postData.url) { // 输出提交的数据
        res.write("信息1:" + postData.name);
        res.write("<br>");
        res.write("信息2:" + postData.url);
    } else {  // 输出表单
        res.write(postHTML);
    }
    res.end();
})
}).listen(9999);

1 0