前几天遇到一个问题:在写js时把res.end()和res.send()弄混了,之后查资料得到以下结果,记录避免忘记。
解决:
1.如果服务器端没有数据要返回到客户端的话,就直接用res.end()。
2.如果服务器需要有数据返回到客户端的话,就需要用res.send().
语法:
res.send([body])
body的参数可以是Buffer对象,String,对象或Array,传入number是没反应的。
res.end()将结束响应过程,其实这个也可以用来传数据,但是参数只限定字符串和Buffer,字符串要加上下面这句话,否则会中文乱码。
'content-type': 'text/html'
//引入http模块
const http = require('http');
//创建web服务器
const app = http.createServer();
//监听浏览器的请求事件
app.on('request', (req, res) => {
//res.writeHead(状态码,头信息)设置响应的状态码和头信息,头信息是对象形式,可以留空
res.writeHead(200, {
'content-type': 'text/html'
});
if (req.url == '/' || req.url == '/index') {
res.end("<h1>这是首页</h1>");
}
console.log(req.headers);
console.log(req.url);
});
//设置监听端口
app.listen(8080);
console.log("active web ");