
Подскажите, как из fetch ответа получить в JS переменную значение содержащую значение свойства msg если оно не пустое ?
function sendData(url, data) {
const response = await fetch(url, {
method: "POST",
headers: {
'Content-type': 'application/json;charset=utf-8',
'X-Requested-With': 'XMLHttpRequest'
},
body: JSON.stringify(data),
credentials: 'include',
});
if (!response.ok) {
throw new Error(`Ошибка по адрессу ${url}, статус ошибки ${response}`);
}
const formData = new FormData(formCreateAccount);
//// Get all selected options for multiple selects
function getAllSelectedOptions(selectID, selectName) {
let selectedMultiOptionValues = Array.from(selectID.options)
.filter(option => option.selected)
.map(option => [option.value]);
return formData.append(selectName, selectedMultiOptionValues);
}
getAllSelectedOptions(products, 'products[]');
getAllSelectedOptions(promotionalMethod, 'promoMethods[]');
getAllSelectedOptions(promotingCountries, 'promoCountries[]');
getAllSelectedOptions(paymentMethod, 'paymentMethods[]');
const data = {};
for (let [key, value] of formData.entries()) {
data[key] = value
}
const newData = data;
sendData('/server-site', newData)
.then(() => {
btnSubmit.setAttribute("disabled", "disabled");
/// If OK
showPopupReaction(
'success',
);
this.reset();
})
.catch((err) => {
btnSubmit.setAttribute("disabled", "disabled");
console.log(err);
showPopupReaction("problem",
"Oh, we have some problem =(",
'Please, try a little later');
})
То есть, сейчас у меня если запрос возвращается с 400 ошибкой, то просто отображается попап об ошибке - showPopupReaction("problem",... а мне хотелось бы добавить конкретное оповещение - Что если 400 ошибка вызвана тем что уже есть зарегистрированный пользователь, то показать этот текст в попапе ошибки / Только вот я не знаю как сделать эту проверку ?