NodeJs学习

2017-04-08  本文已影响0人  笨拉高

一些Nodejs相关操作


安装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

启动http服务 访问

输入流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;

接收get参数(用sublime text3 编辑.注意:在代码修改过后要重启node 服务,在终端中[control + c]结束上一次的http服务),[node index.js]开启服务 接收get参数

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(); }); } 接收post参数 表单 结果

res输出相关


res.writeHead(404,{'Content-type':'text/html'});//输出http响应头 res.write("not found");//输出 res.end();//表示结束一次响应

思维导图


NodeJs学习
上一篇 下一篇

猜你喜欢

热点阅读