добавьте данные формы и значения состояния в один массив и передайте axios

#javascript #reactjs #axios #form-data

Вопрос:

Я пытаюсь передать значения allvalues и данные формы в один массив и передать его axios .

Вот мой код:

 constructor(props) {
    super(props);
   
    this.state = {
        allValues: {
            name: "",
            class: "",
            school: ""
        },
    }
}
 
 let formData = new FormData();
axios
  .post(
    'url',
    formData, //appand formdata and allValues

    {
      headers: {
        Authorization: `token `   localStorage.getItem('token'),
        'Content-type': 'multipart/form-data',
      },
    }
  )
  .then((res) => {
    console.log(`Success`   res.data);
  });
 

Комментарии:

1. Из вопроса неясно, с какой проблемой или ошибкой вы сталкиваетесь, не могли бы вы объяснить это, пожалуйста?

2. Что именно вы пытаетесь сделать? Не могли бы вы сообщить более подробную информацию?

Ответ №1:

Для того чтобы передать сложную структуру объекта или какой-либо массив, вам нужны jsonify ваши данные.

Вот как вы можете передать allValues свой запрос:

 formData.append("allValues", JSON.stringify(this.state.allValues))
 

Имейте в виду, что вам нужно будет преобразовать json обратно в то , что вам нужно на вашем бэкэнде (например, в узле он будет преобразован обратно в a JS object , в python он будет преобразован в a dictionary и т. Д.)