javascript - node实战中的todo List出现奇怪的问题
怪我咯
怪我咯 2017-04-10 17:31:29
[JavaScript讨论组]

我照着书本敲,但是当提交表单时,返回的数据总是错的(我的node版本是6.9)

const http = require('http');
const qs = require('querystring');
let items = [];

let server = http.createServer((req, res)=> {
    if ('/' == req.url) {
        switch (req.method) {
            case 'POST':
                add(req, res);
                break;

            case 'GET':
                show(res);
                break;

            default:
                badRequest(res);
        }
    } else {
        notFound(res);
    }
});

server.listen(3001);

function badRequest() {
    res.statusCode = 400;
    res.setHeader('Content-Type', 'text/plain');
    res.end('Bad Request');
}

function notFound(res) {
    res.statusCode = 404;
    res.setHeader('Content-Type', 'text/plain');
    res.end('Not Found');
}

function show(res) {
    var html = '<html lang="en">' +
        '<head><meta charset="UTF-8">' +
        '<title>To Do</title>' +
        '</head>' +
        '<body>' +
        '<h1>Todo List</h1>' +
        '<ul>' +
        items.map((item)=> {
            return '<li>' + item + '</li>'
        }).join('') +
        '</ul>' +
        '<form action="post" action="/">' +
        '<p><input type="text" name="item"></p>' +
        '<p><input type="submit" value="Add Item"></p>' +
        '</form>' +
        '</body>' +
        '</html >';

    res.setHeader('Content-Type', 'text/html');
    res.setHeader('Content-Length', Buffer.byteLength(html));
    res.end(html);
}

function add(req, res) {
    let body = '';
    req.setEncoding('utf8');
    req.on('data', (chunk)=> {
        body += chunk;
    });
    req.on('end', ()=> {
        let obj = qs.parse(body);
        items.push(obj.item);
        show(res);
    });
}

运行正确的截图应该是这样的:

这是提交后运行不正确的的截图


我已经google过了,但是还是找不到原因。希望大神能帮助一下我。

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(1)
阿神

'<form action="post" action="/">'这里改成 '<form method="post" action="/">'

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号