报错
错误代码
if (req.url ==='/api/province') {
fs.readFile(path.join(__dirname,'/province.json'),(err,data)=>{
if(err) return console.log(err)
res.setHeader('Content-Type','application/json;charset=utf-8')
res.end(data.toString())
})
} else {
res.end(404)
}
原因
response.end()方法内传入的参数应该是一个字符串
解决方法
1.将404写成字符串形式
if (req.url ==='/api/province') {
fs.readFile(path.join(__dirname,'/province.json'),(err,data)=>{
if(err) return console.log(err)
res.setHeader('Content-Type','application/json;charset=utf-8')
res.end(data.toString())
})
} else {
res.end('404')
}
2.使用JSON.stringify()
if (req.url ==='/api/province') {
fs.readFile(path.join(__dirname,'/province.json'),(err,data)=>{
if(err) return console.log(err)
res.setHeader('Content-Type','application/json;charset=utf-8')
res.end(data.toString())
})
} else {
res.end(JSON.stringify(404))
}