#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
и т. Д.)