安装
npm install express --save
使用
//基础案例
var express = require('express');
var app = express();
app.get('/', function (req, res) {
res.send('Hello World');
});
var server = app.listen(8081, function () {
var host = server.address().address;
var port = server.address().port;
console.log("应用实例,访问地址为 http://%s:%s", host, port)
});
HTTP请求get、post
先安装以下几个重要的模块:
npm install body-parser --save
npm install cookie-parser --save
npm install multer --save
- body-parser - node.js 中间件,用于处理 JSON, Raw, Text 和 URL 编码的数据。
- cookie-parser - 这就是一个解析Cookie的工具。通过req.cookies可以取到传过来的cookie,并把它们转成对象。
- multer - node.js 中间件,用于处理 enctype=”multipart/form-data”(设置表单的MIME编码)的表单数据。
//get、post案例
var express = require('express');
var bodyParser = require('body-parser'); //对post请求的请求体进行解析
var app = express();
app.use(bodyParser.urlencoded({ extended: false })); //bodyParser.urlencoded 用来解析 request 中 body的 urlencoded字符, 只支持utf-8的编码的字符,也支持自动的解析gzip和 zlib。返回的对象是一个键值对,当extended为false的时候,键值对中的值就为'String'或'Array'形式,为true的时候,则可为任何数据类型。
var hostName = '127.0.0.1';
var port = 8888;
app.all('*',function(req, res, next) {
res.header('Access-Control-Allow-Origin', '*'); //访问控制允许来源:所有
res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept'); //访问控制允许报头 X-Requested-With: xhr请求
res.header('Access-Control-Allow-Metheds', 'PUT, POST, GET, DELETE, OPTIONS'); //访问控制允许方法
res.header('X-Powered-By', 'nodejs'); //自定义头信息,表示服务端用nodejs
res.header('Content-Type', 'application/json;charset=utf-8');
next();
});
app.get('/get', function(req, res) {
console.log('请求url', req.path);
console.log('请求参数', req.query);
var result = { code: 200, msg: 'get请求成功', data: { a: 1, b: 2 } };
res.send(result);
});
app.post('/post', function(req, res) {
console.log('请求参数', req.body);
var result = { code: 200, msg: 'post请求成功', data: { a: 1, b: 2 } };
res.send(result);
});
app.listen(port,hostName,function(){
console.log(`服务器运行在http://${hostName}:${port}`);
});