GET和POST的数据处理

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);

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值