1. 不设置 Content-type
var http = require('http')
var server = http.createServer()
server.listen(8000, () => {
console.log('server is running at 8000')
})
server.on('request', (req, res) => {
if (req.url === '/') {
var person = {
age: 23,
name: 'zfb'
}
// 响应数据必须是字符串 JSON.stringify
res.end(JSON.stringify(person))
} else if (req.url === '/reginser') {
res.end('注册')
} else {
res.end('默认')
}
})
运行:发现乱码了
乱码原因:
服务端发送的数据,默认是 utf-8 编码的内容,但是浏览器解析的时候不知道是 utf-8的内容,浏览器在不知道编码的情况下会按照当前操作系统的默认编码去解析,而中文的默认编码是 gbk。也就是说,我跟你说汉语,而你去英文字典里去查,语言没有统一,这就是乱码情况的出现。
解决方法:
告知浏览器我给你发送的内容是以什么编