我是 Node js 编程新手,我已经开始开发 RESTful API。现在,当我使用curl从终端发布数据时,如下所示:
curl -H "Content-Type: application/json" -X POST -d '{"full_name":"Hristijan ilieski", "email":"email@mail.com", "password":"123"}' http://localhost:3000/api/login
我在请求正文中获取了正确的数据。 但是当我尝试从 hurl.it 或其他服务发布一些 json 时,请求正文为空。有什么区别以及问题出在哪里?这是我的代码:
function registerUser(req, res){
var jsonData = JSON.parse(JSON.stringify(req.body));
//jsonData['key'] should contain the value...
}
这是来自 hurl.it 请求的图像:
编辑
我不知道我做了什么,但现在当我尝试从 hurl.it 发布请求时,我收到此错误:
SyntaxError: Unexpected token f at parse (/home/hristijan/Documents/UrbanAPI/node_modules/body-parser/lib/types/json.js:83:15) at /home/hristijan/Documents/UrbanAPI/node_modules/body-parser/lib/read.js:116:18 at invokeCallback (/home/hristijan/Documents/UrbanAPI/node_modules/body-parser/node_modules/raw-body/index.js:262:16) at done (/home/hristijan/Documents/UrbanAPI/node_modules/body-parser/node_modules/raw-body/index.js:251:7) at IncomingMessage.onEnd (/home/hristijan/Documents/UrbanAPI/node_modules/body-parser/node_modules/raw-body/index.js:308:7) at emitNone (events.js:67:13) at IncomingMessage.emit (events.js:166:7) at endReadableNT (_stream_readable.js:905:12) at nextTickCallbackWith2Args (node.js:441:9) at process._tickCallback (node.js:355:17)
最佳答案
请尝试使用 hurl.it 主体而不是这样的参数:
整个 body 是:
{
"full_name":"Pero Perov",
"email":"pero@mail.com",
"password":"pero123",
"mobile_number":"076 543 210",
"home_address":"Perovaca 16b",
"work_address":"Merovaca 18c"
}
关于javascript - 使用 Node.js 的 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37099770/