как утешить журнал или предупредить данные после публикации на сервере - PullRequest
0 голосов
/ 01 мая 2020

Я публиковал данные обратной связи на своем сервере и хочу просмотреть опубликованные данные в предупреждении.

export const postFeedback = (
  firstname,
  lastname,
  telnum,
  email,
  agree,
  contactType,
  message
) => (dispatch) => {
  const newFeedback = {
    firstname: firstname,
    lastname: lastname,
    telnum: telnum,
    email: email,
    agree: agree,
    contactType: contactType,
    message: message,
  };
  newFeedback.date = new Date().toISOString();

  return fetch(baseUrl + 'feedback', {
    method: 'POST',
    body: JSON.stringify(newFeedback),
    headers: {
      'Content-Type': 'application/json',
    },
    credentials: 'same-origin',
  })
    .then(
      (response) => {
        if (response.ok) {
          return response;
        } else {
          var error = new Error(
            'Error ' + response.status + ': ' + response.statusText
          );
          error.response = response;
          throw error;
        }
      },
      (error) => {
        throw error;
      }
    )
    .then((response) => response.json())
    .then((response) => dispatch(addFeedback(response)))
    .then((response) => alert(response))
    .catch((error) => {
      console.log('post feedback', error.message);
      alert('Your feedback could not be posted\nError: ' + error.message);
    });
};

Данные были опубликованы правильно, но в предупреждении я просто вижу [object Object] Почему? Как я могу консоль войти или предупредить данные после публикации на сервере?

image

От всего сердца благодарю, если кто-нибудь поможет мне разобраться в этом.

Ответы [ 4 ]

0 голосов
/ 01 мая 2020

Попробуйте преобразовать JSON в строку, вы можете попробовать это.

export const postFeedback = (
  firstname,
  lastname,
  telnum,
  email,
  agree,
  contactType,
  message
) => (dispatch) => {
  const newFeedback = {
    firstname: firstname,
    lastname: lastname,
    telnum: telnum,
    email: email,
    agree: agree,
    contactType: contactType,
    message: message,
  };
  newFeedback.date = new Date().toISOString();

  return fetch(baseUrl + 'feedback', {
    method: 'POST',
    body: JSON.stringify(newFeedback),
    headers: {
      'Content-Type': 'application/json',
    },
    credentials: 'same-origin',
  })
    .then(
      (response) => {
        if (response.ok) {
          return response;
        } else {
          var error = new Error(
            'Error ' + response.status + ': ' + response.statusText
          );
          error.response = response;
          throw error;
        }
      },
      (error) => {
        throw error;
      }
    )
    .then((response) => response.json())
    .then((response) => dispatch(addFeedback(response)))
    .then((response) => alert(JSON.stringify(response)))
    .catch((error) => {
      console.log('post feedback', error.message);
      alert('Your feedback could not be posted\nError: ' + error.message);
    });
};
0 голосов
/ 01 мая 2020

Вам нужно проанализировать ваш объект в строку, используйте JSON.stringify(x)

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify

0 голосов
/ 01 мая 2020

[object Object] - это строковое представление объекта.

либо
до alert(JSON.stringify(error.message))

ИЛИ

до console.log(error.message)

0 голосов
/ 01 мая 2020

Вы можете записать ошибку с JSON.stringify(obj), так как alert отображает только текст

...