#reactjs #api #rest #request #fetch-api
#reactjs #API #остальное #запрос #выборка-api
Вопрос:
Как я могу отправить массив и логические данные в теле POST-запроса API. Ниже приведен код, с помощью которого я пытался отправить массив и логические данные, но он преобразуется в строку.
fetch('https://cors-anywhere.herokuapp.com/http://35.153.16.107:8080/restaurant/createProfile',{
method:'post',
headers:{Authorization:localStorage.getItem('token'), 'Content-Type':'application/json'},
body: JSON.stringify({
route:this.state.route,
side:this.state.side,
mustHaveDishes:this.state.mustTryDishes, //This is array
preOrderDineIn:this.state.preOrderDineIn, //This is boolean
preOrderTakeaway:this.state.preOrderTakeaway, // This is boolean
veg:this.state.vegOnly // This is boolean
}),
})
.then(response => response.json())
.then(data =>{
if(data.statusCode === '2000'){
console.log(this.state.mobile);
this.props.onRouteChange('orderar','nav');
}
else
console.log(data.error);
})
Вот как я хочу отправить массив и логические данные-
mustHaveDishes:["paratha"],
preOrderDineIn:true,
preOrderTakeaway:true,
veg:true
Ответ №1:
Как вы думаете, что JSON.stringify
делает, кроме как взять объект JSON и преобразовать его в строку?
Тело должно выглядеть следующим образом
body: {
route: this.state.route,
side: this.state.side,
mustHaveDishes: this.state.mustTryDishes,
preOrderDineIn: this.state.preOrderDineIn,
preOrderTakeaway: this.state.preOrderTakeaway,
veg: this.state.vegOnly
},
Комментарии:
1. Но тогда как я буду преобразовывать маршрут и сторону в строку?
2. Что такое
route
side
и почему они должны быть преобразованы в строку?3. маршрут будет содержать два названия городов {exp- route: «NewYork-LA»}, которые будут введены пользователем, а side — название одного города {exp- side: «NewYork»}
4. На самом деле формат отправки данных в API-
route:"New York- LA", side:"New York", mustHaveDishes:["paratha"], preOrderDineIn: true, preOrderTakeaway: true, veg: true
5. Итак, если route и side уже являются строками, почему вы хотите их упорядочить во второй раз?