上节课我们使用读取流将 HTML 内容通过管道返回给浏览器端,这节课会使用 response 对象将 JSON 返回给客户端。
- 将
Content-Type
值改为application/json
- 创建一个对象 obj
- 由于 response 的** end 方法需要一个字符串或者 Buffer 为参数**,因此需要将这个对象转为字符串的形式(串行化)
- 使用 response 对象返回给客户端
'app.js`'
var http = require('http');
var server = http.createServer(function(req, res){
var readStream = fs.createReadStream(__dirname + '/index.html', 'utf-8');
res.writeHead(200, {
'Content-Type': 'application/json'
});
var obj = {name:'Ryu', job: 'Ninja', age: 29};
res.end(JSON.stringify(obj));
});
server.listen(8888, '127.0.0.1'); // 监听本机上的 8888 端口
console.log('server is listening 8888');
当运行 node app
并打开浏览器的时候,会看到页面上显示这串内容 {name:'goku', age: 20}
,同时可在开发者工具的网络面板看到响应的内容
![](https://img.haomeiwen.com/i2444638/571f52322d12ae2a.png)
为什么我们需要 JSON 格式的数据,想象一下,我们的 Javascript 程序在浏览器端运行着, Javascript 可能会发起请求,会请求到返回 JSON 格式数据的 API endpoint,如:http://localhost/api/ninja
,通过 API endpoint 拿到数据后,就可以在 html 填充数据,是一种常用的方式。
网友评论