Показать сообщение отдельно
  #1 (permalink)  
Старый 19.04.2021, 16:40
Аватар для Black_Star
Профессор
Отправить личное сообщение для Black_Star Посмотреть профиль Найти все сообщения от Black_Star
 
Регистрация: 11.07.2016
Сообщений: 300

Как получить значение из Raw response data?

Подскажите, как из 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 ошибка вызвана тем что уже есть зарегистрированный пользователь, то показать этот текст в попапе ошибки / Только вот я не знаю как сделать эту проверку ?
Ответить с цитированием