【发布时间】:2020-09-10 10:13:07
【问题描述】:
这是我的 server.js 文件代码。我正在尝试将 JSON 内容推送到用户对象中,但出现以下错误。请告诉我哪里出错了。
const express = require('express')
const app = express()
const bcrypt = require('bcrypt')
const bodyParser = require('body-parser')
app.use(express.json())
const users = []
app.get('/users', (req, res) => {
JSON.stringify(users)
res.json(users)
})
app.post('/users', (req, res) => {
const user = {
name: req.body.name,
password: req.body.password
}
users.push(user)
res.status(201).send()
})
app.listen(3000, console.log("server started"));
我在 VS 代码中使用了一个名为 REST 客户端的扩展。
GET http: //localhost:3000/users
#####
POST http: //localhost:3000/users
Content-Type: application/json
{
"name": "Tanay",
"password": "password"
}
当我发出 POST 请求时,它会显示错误 - SyntaxError: Unexpected end of JSON input
at JSON.parse (<anonymous>)
at parse (C:\Users\TANAY RAJ\Desktop\nodePassport\Wsimplified\node_modules\body-parser\lib\types\json.js:89:19)
at C:\Users\TANAY RAJ\Desktop\nodePassport\Wsimplified\node_modules\body-parser\lib\read.js:121:18
at invokeCallback (C:\Users\TANAY RAJ\Desktop\nodePassport\Wsimplified\node_modules\raw-body\index.js:224:16)
at done (C:\Users\TANAY RAJ\Desktop\nodePassport\Wsimplified\node_modules\raw-body\index.js:213:7)
at IncomingMessage.onEnd (C:\Users\TANAY RAJ\Desktop\nodePassport\Wsimplified\node_modules\raw-body\index.js:273:7)
at IncomingMessage.emit (events.js:322:22)
at endReadableNT (_stream_readable.js:1187:12)
at processTicksAndRejections (internal/process/task_queues.js:84:21)
【问题讨论】:
-
您的问题到底是什么?你能提供更多信息吗?
-
当我触发 POST 请求时,我希望它将 JSON 内容推送到用户对象中,但我得到了上述错误,而不是它。希望这可以帮助您理解问题。
-
您使用的是哪个版本的 express?
express.json()现在已弃用,因此请使用body-parser -
@AZ_ 即使在使用 body-parser 之后我也会遇到同样的错误
标签: javascript node.js json express web