【发布时间】:2022-01-22 10:29:00
【问题描述】:
我需要在 React 中接收来自我前面的 JSON。但是 JSON 以一种奇怪的方式出现在我面前(一个带有字符串数据的对象),我不知道如何再次将它返回到 type 对象。
我发送这个。
const data = {
email: 'emailc@email.com',
password: 'test'
}
const options = {
method: 'POST',
body: JSON.stringify(data),
mode: 'no-cors',
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
}
const onsubmit = (e) => {
//evitamos que se haga la peticion en automatico
e.preventDefault();
fetch('http://localhost:3001/user/signin',options)
.then(res => res.json())
.catch(error => console.error('Error:', error))
.then(response => console.log('Success:', response));
console.log('send on submit');
}
我在快递服务器上得到了这个:
[Object: null prototype] {
'{"email":"emailc@email.com","password":"test"}': ''
}
我的服务器是这样配置的:
const express = require('express');
const app = express();
const morgan = require('morgan');
const cors = require('cors');
const {mongoose} = require('./src/database/connection')
const Parser = require("body-parser").urlencoded({ extended: false });
//config
app.set('port', process.env.PORT || 3001);
//middlewares
app.use(morgan('dev'));
app.use(Parser);
app.use(cors()); //accepts connection from all directions
//Routes
app.use(require('./src/test'));
app.use(require('./src/routes/users'));
//Server
app.listen(app.get('port'), (req, res) => {
console.log(`Server on port ${app.get('port')}`);
})
我认为我错误配置了正文解析器,请帮忙,这是我的第一个 API。
【问题讨论】:
-
好吧,您发送了 JSON,但告诉服务器您发送的是
application/x-www-form-urlencoded... 这不是 JSON。
标签: javascript node.js reactjs rest express