一些Nodejs相关操作
安装NodeJs
从官网下载,安装即可
创建[Demo]目录
wenpingaodeMacBook-Pro:Desktop pingaowen$ mkdir Demo
wenpingaodeMacBook-Pro:Desktop pingaowen$ cd Demo/
创建入口文件
wenpingaodeMacBook-Pro:Demo pingaowen$ vim index.js
编辑模式i
引入http模块
var http = require('http');
创建http服务
var app = http.createServer(function (req,res) { //在这里接收并处理http请求 res.writeHead(200,{'content-Type':'text/html'}); res.write('<h1>Hello,World!</h1>'); res.end(); });
监听http请求:
app.listen(8000,function () { console.log('启动了'); });
保存[index.js]文件
esc
--> wq
--> enter
启动http服务,打开终端,转到index.js文件所在目录
wenpingaodeMacBook-Pro:Demo pingaowen$ node index
输入流req和输出流res相关
req输入流:接收来自http请求的输入
req接收get参数
我们需要引入两个系统模块
var url = require('url'); var qs = require('querystring');
在接收并处理响应的回调方法里
var params = url.parse(req.url,true).query; var name = params.name;
req接收post参数
输出表单
if(url.parse(req.url).pathname == '/'){ res.writeHead(200,{'Content-type':'text/html'}); res.write("<form action='/postdemo' method='post'>姓名:<input name='name' type='text'/><br/>年龄:<input name='age' type='numberc'/><input type='submit' value='确定'/></form>"); res.end(); }
接收参数
else if(url.parse(req.url).pathname == '/postdemo'){ //接收post参数 var body = ''; //绑定http请求响应事件 req.on('data', function(data) { body += data; }); //绑定http请求响应结束事件 req.on('end', function(event) { body = qs.parse(body); var name = body.name; var age = body.age; res.writeHead(200,{'Content-type':'text/html'}); res.write('你好啊,' + name + ',' + age); res.end(); }); }
res输出相关
res.writeHead(404,{'Content-type':'text/html'});//输出http响应头 res.write("not found");//输出 res.end();//表示结束一次响应