【Web前端问题】node实战中的todo List出现奇怪的问题

我照着书本敲,但是当提交表单时,返回的数据总是错的(我的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过了,但是还是找不到原因。希望大神能帮助一下我。

回答:

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

以上是 【Web前端问题】node实战中的todo List出现奇怪的问题 的全部内容, 来源链接: utcz.com/a/135995.html

回到顶部