Я хотел бы объяснить мою проблему дня.
Сегодня у меня есть забавная проблема
в следующем коде, сообщение работает правильно, я получаю их в моем BDD
проблема в том, что я получаю ошибку " alert ('Erreur lors de l \' ajout ') "и что" SyntaxError: неожиданный токен O в JSON в позиции 0 "
Как я могу исправить эту проблему?
const entrypoint = process.env.REACT_APP_API_ENTRYPOINT + '/api';
class SignUp extends Component {
constructor(props) {
super(props);
this.state = {
prenomNom:'',
};
}
handleChange = (e) => {
this.setState({[e.target.name]: e.target.value});
}
вот мой POST
postbackendCarteBleu = async (ev) => {
ev.preventDefault();
const config = {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({ ...this.state,}),
};
const url = entrypoint + "/user";
fetch(url, config)
.then(res => res.json())
.then(res => {
if (res.error) {
alert(res.error);
console.log(res.error)
} else {
alert(`ajouté avec l'ID ${res}!`);
console.log(res.error)
}
}).catch(e => {
console.error(e);
alert('Erreur lors de l\'ajout');
});
}
здесь вы можете увидеть мою форму и мою кнопку для сообщения
render() {
return (
<div>
<form method="post" onSubmit={(ev) => this.postbackendCarteBleu(ev)}>
<input
id="prenomNom"
onChange={this.handleChange}
value={this.state.prenomNom}
className="form-input-name"
name="prenomNom"
placeholder="Jason Binouse"
required
/>
<button type="submit" value="Envoyer">
POST
</button>
</form>
</div>
export default SignUpP2;
И вот конечно если мои маршруты для BDD
app.post('/api/user', (req, res, ) => {
const formData = req.body;
console.log(req.body)
connection.query('INSERT INTO user SET ?', formData, (err, results) => {
if (err) {
console.log(err);
res.status(500).send("Erreur lors de la sauvegarde");
} else {
// Si tout s'est bien passé, on envoie un statut "ok".
res.sendStatus(200);
}
});
});