【问题标题】:value problem received , empty object Axios/Post/bdd ReactJS收到值问题,空对象 Axios/Post/bdd ReactJS
【发布时间】:2020-04-08 09:03:17
【问题描述】:

我想解释一下我今天遇到的问题。

在下面的代码中,我尝试发布给定的 2,我的服务器正确接收它,不幸的是我收到了 2 个空对象

我会尝试发布您可能需要的任何信息, 我试图编写干净的代码

我该如何解决这个问题?

import React, { Component } from 'react';
import axios from 'axios';

export default class SignUpP2 extends Component {

constructor(props) {
    super(props)

    this.onChangeprenomNom = this.onChangeprenomNom.bind(this);
    this.onChangeexpiration = this.onChangeexpiration.bind(this);
    this.onSubmit = this.onSubmit.bind(this);

    this.state = {
      prenomNom: '',
      expiration: '',
    }
}

onChangeprenomNom(e) {
    this.setState({ prenomNom: e.target.value })
}
onChangeexpiration(e) {
  this.setState({ expiration: e.target.value })
 }
  onSubmit(e) {
    e.preventDefault()
    const prenomNom = {
      prenomNom  : this.state.prenomNom,
    };
    const expiration = {
      expiration  : this.state.expiration,
    };

    axios.post('https://fakeinfo.fr/api/user',{ expiration , prenomNom})
        .then((res) => {
            console.log(res.data)
        }).catch((error) => {
            console.log(error)
        });

    this.setState({ prenomNom: '', expiration:'', })
}
 render() {
     return (
        <div >
            <form onSubmit={this.onSubmit}>
              <div>

                <div>
                    <input
                     type="text" 
                     value={this.state.prenomNom} 
                     onChange={this.onChangeprenomNom} 
                     /> 
                </div>
                <div>
                    <input
                     type="text" 
                     value={this.state.expiration} 
                     onChange={this.onChangeexpiration} 
                     />       
                </div>
              </div>
                <div>
                 <button className="button-create-account"  type="submit" value="Create                                                        User" >
     GOO
     </button>
                </div>
            </form>
        </div>
    )
  }
}

这是我的路线,

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 d'un employé");
} else {
  res.sendStatus(200);
}
 });
});

这里是 myBDD

{
    "id": 38,
    "prenomNom": "[object Object]",
    "expiration": "[object Object]",
}

【问题讨论】:

    标签: mysql reactjs post axios


    【解决方案1】:

    您的有效负载不正确,您应该这样做:

    const payload = { 
      prenomNom  : this.state.prenomNom,
      expiration  : this.state.expiration
    }
    
    axios.post('https://fakeinfo.fr/api/user', payload)
    

    【讨论】:

      猜你喜欢
      • 2017-04-13
      • 2021-08-14
      • 2020-09-15
      • 2018-05-17
      • 1970-01-01
      • 2020-08-24
      • 1970-01-01
      • 2018-09-06
      • 2020-10-01
      相关资源
      最近更新 更多