浏览器端代码:post.html
<form method=“post” action=“http://localhost:3000/”> <input type=“text” name=“title” /> <textarea name=“text”></textarea> <input type=“submit” /> </form>
服务器端代码:post-server.js
var http = require(‘http’), util = require(‘util’), querystring = require(‘querystring’);
var server = http.createServer(function(req, res) { var post = ‘’;
req.on('data', function(chunk) {
post += chunk;
});
req.on('end', function() {
//console.log(util.inspect(post));
post = querystring.parse(post);
res.write(post.title);
res.write(post.text);
res.end();
});
}).listen(3000);
服务器端的输出为: ‘title=hw&text=helloworld’ ’’
_http_outgoing.js:417 throw new TypeError(‘first argument must be a string or Buffer’); ^ TypeError: first argument must be a string or Buffer at ServerResponse.OutgoingMessage.write (_http_outgoing.js:417:11) at IncomingMessage.<anonymous> (C:\Users\xishvai\js\my\post-server.js:17:7) at IncomingMessage.EventEmitter.emit (events.js:101:17) at _stream_readable.js:896:16 at process._tickCallback (node.js:664:11)
浏览器的输出是正常的。 谁能告诉我为什么捏?
17:7行是res.write(post.title);
浏览器通常会发送 /favicon.ico 请求来请求网站的fav icon。 你可以通过 console.log(req.url) 看到这个请求。