GET数据处理
1.自己处理数据
http.createServer(function (req, res) {
var GET = {
};
// url的输出结果哦为两个,还需考虑/favicon.ico
if (req.url.indexOf('?') != -1) {
var arr = req.url.split('?');
//arr[0] =>地址 './aaa'
var url = arr[0];
//arr[1] =>数据 'usr=xun&pwd=123456'
var arr2 = arr[1].split('&');
//arr2 => ['usr=xun', pwd=123456];
for (var i = 0; i < arr2.length; i++) {
var arr3 = arr2[i].split('=');
//arr3[0] => 名字 'usr'
//arr3[1] => 数据 'xun'
GET[arr3[0]] = arr3[1];
}
} else {
var url = req.url;
}
console.log(url, GET);
res.write('aaa');
res.end();
}).listen(8080);
2.借用querystring模块处理数据
const http = require('http');
const querystring = require('querystring');
http.createServer(function (req, res) {
var GET = {
};
if (req.url.indexOf('?') != -1) {
var arr = req.url.split('?');
var url = arr[0];
GET = querystring.parse(arr[1]);
} else {
var url = req.url;
}
console.log(url, GET);
res.write('aaa');
res.end();
}).listen(8080);
3.借用url模块处理数据
const http = require('http');
const urlLib = require('url');
http.createServer(function (req, res) {
var obj = urlLib.parse(req.url, true);
var url = obj.pathname;
var GET = obj.query;
console.log(url, GET);
res.write('aaa');
res.end();
}).listen(8080);
POST数据处理
1,application/x-www-form-urlencoded
serever.use(bodyParse.urlencoded());
2.解析post文件
const express = require('express');
const bodyParser = require('body-parser');
const multer = require('multer');
const pathLib = require('path');
const fs = require('fs');
//base 文件名部分
//ext 扩展名
//dir 路径
//name 文件名部分
var objMulter = multer({dest: './www/upload'});
var server = express();
server.use(objMulter.any());
server.post('/', function (req, res) {
var newName = req.files[0].path + pathLib.extname(req.files[0].originalname);
fs.rename(req.files[0].path, newName, function (err) {
if(err) {
res.send('上传失败');
} else {
res.send('成功');
}
});
});
server.listen(8080);