zoukankan      html  css  js  c++  java
  • [转] nodeJS的post提交简单实现

    index.js:

    1
    2
    3
    4
    5
    6
    7
    8
    var server = require('./server');
    var router = require('./route');
    var requestHandler = require('./requestHandler');
    var hander = {};
    hander['/'] = requestHandler.start;
    hander['/start'] = requestHandler.start;
    hander['/upload'] = requestHandler.upload;
    server.starts(router.router, hander);



    server.js:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    var http = require('http');
    var url = require('url');
    function start(router, hander) {
        function onRequest(request, response) {
            var pathname = url.parse(request.url).pathname;
            var postData = "";
            request.setEncode = "utf8";
            request.addListener('data', function(postDataChunk){
                postData += postDataChunk;
            })
            request.addListener('end', function(){
                router(pathname, hander, response, postData);
            })
        }
        http.createServer(onRequest).listen(8080);
    }
    exports.starts = start;



    route.js:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function route(pathname, handler, response, postData) {
        if (typeof(handler[pathname]) === 'function') {
            handler[pathname](response, postData);
            return true;
        } else {
            return false;
        }
    }
    exports.router = route;



    requestHandler.js:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    var querystring = require("querystring");
    function start(response) {
        var body = '<html>' + '<head>' + '<meta http-equiv="Content-Type" content="text/html; ' + 'charset=UTF-8" />' + '</head>' + '<body>' +
        '<form action="/upload" method="post">' + '<textarea name="text" rows="20" cols="60"></textarea>' + '<input type="submit" value="Submit text" />'
    +    '</form>' + '</body>' + '</html>';
        response.write(body);
        response.end();
    }
    function upload(response, postData) {
        response.write("You've sent: " + querystring.parse(postData).text);
        response.end();
    }
    exports.start = start;
    exports.upload = upload;



    访问localhost:8080/start或者localhost:8080;输入数据,提交即可。

  • 相关阅读:
    4500-X验证镜像完整性
    激活4500-X RTU license
    Nexus:hardware type changed to No-Transceiver
    Bug搬运工-CSCvf74866:Webauth scaling improvements
    win10无法登陆SSG进行WEB UI管理
    FTD vs FMC
    转:思科3750交换机堆叠技术配置向导
    ROM, RAM, NVRAM and Flash Memory on Cisco Routers
    RADIUS Authentication with WPA2-Enterprise
    BUG搬运工:CSCun88303-CIMC Memory Leak : Can't SSH/HTTP to CIMC
  • 原文地址:https://www.cnblogs.com/qiangxia/p/4363232.html
Copyright © 2011-2022 走看看