1

我对这段代码有疑问:


const express = require('express');

const app = express();

app.use(express.urlencoded({ extended: true }));
app.use(express.json());


app.get('/', (req, res) => {
res.send([
    { id: 1, title: 'foo' }
]);
});

app.post('/', (req, res) => {
res.send({
        data: req.body
    })
    console.log("Geht");
});

app.listen(3000, () => {
console.log('Server listening on port 3000.');
});

如果我尝试使用 "curl -X POST -d '{"user":"jane.doe"}' -H "Content-Type: application/json" http://localhost:3000/" 例如,我总是得到以下错误:

SyntaxError:在 C:\Programmieren 解析 (C:\Programmieren\node test\node_modules\body-parser\lib\types\json.js:89:19) 时 JSON.parse () 位置 1 处的 JSON 中的意外标记 u \node test\node_modules\body-parser\lib\read.js:121:18 at invokeCallback (C:\Programmieren\node test\node_modules\raw-body\index.js:224:16) at done (C:\ Programmieren\node test\node_modules\raw-body\index.js:213:7) 在 IncomingMessage.onEnd (C:\Programmieren\node test\node_modules\raw-body\index.js:273:7) 在 IncomingMessage.emit (events.js:327:22) 在 endReadableNT (internal/streams/readable.js:1327:12) 在 processTicksAndRejections (internal/process/task_queues.js:80:21)

有人可以告诉我解决方法吗?

4

1 回答 1

0

对于 Windows 用户,它可以转义"字符。

curl -X POST -d "{\"user\":\"jane.doe\"}" -H "Content-Type: application/json" http://localhost:3000/
于 2021-07-25T14:17:45.010 回答