Я работаю над приложением на React-native и хочу сохранить все пользовательские данные на сервере с запросом к API. Но когда я пытался, мой запрос глючил.
{"body": "{
\"residenceId\": \"5d88dfb55feb4c06a5cfb756\",
\"date\": \"2019-10-04T16:37:10.048Z\",
\"espaces\": [
{
\"espaceId\": \"5d88dfb55feb4c06a5cfb761\",
\"photosPath\": [
\"content://com.immodt.provider/root/storage/emulated/0/Pictures/image-2c97392b-fd7c-4480-9d9e-d055c74cab7e.jpg\"
],
\"comment\": \"Un sol\"
},
{
\"espaceId\": \"5d88dfb55feb4c06a5cfb760\",
\"photosPath\": [
\"content://com.immodt.provider/root/storage/emulated/0/Pictures/image-0518bb83-7d66-43f5-a0df-4e803bca50da.jpg\",
\"content://com.immodt.provider/root/storage/emulated/0/Pictures/image-d416bd03-051f-43f0-8d09-478ad616562a.jpg\"
],
\"comment\": \"Un plafond\"
}
]
}"}
Я не знаю почему.
Я пытался поставить Stringify, я пробовал без stringify, всякий раз, когда "мой"В массиве espaces есть ошибка с stringify. Я думаю, что мой массив является сердцем ошибки. Я видел много тем об ошибках, подобных этой, но никто не нашел моего решения.
Мой метод генерирует мой объект со всеми данными (и изменяет архитектуру)
_saveAllData() {
const token = this.props.token;
let data = this.props.picturesAndComment;
let date = new Date();
let newData = {
residenceId: this.props.residence._id,
date: date,
espaces: []
};
for (let i = 0, c = data.length; i < c; i++) {
newData.espaces[i] = {
espaceId: data[i].idSubspace,
photosPath: [],
comment: data[i].comment
};
for (let j = 0, d = data[i].pictures.length; j < d; j++) {
newData.espaces[i].photosPath[j] = data[i].pictures[j].uri;
}
}
console.log(newData);
//this.setState({ isLoading: true });
/*Promise.all([postVisit(token, newData), postPhoto(token, picturesDataForUpload)]).then((arrayOfResponses) => {
console.warn(arrayOfResponses);
this.setState({ isLoading: false });
}).catch((error) => {
console.warn('Error :', error);
this.setState({ isLoading: false });
});*/
}
}
Мой метод API для отправкиdata
export function postVisit(token, data) {
const url = "http://51.91.11.5:8080/visites/";
const request = {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + token.accessToken
},
body: data
};
console.log(request);
return fetch(url, request)
.then((response) => response.json());
}
Я ожидаю нормального JSON без обратной косой черты везде ...