POST запускает сервер API и реагирует на клиента 500 (Внутренняя ошибка сервера) - PullRequest
0 голосов
/ 05 октября 2018

Я использую API-интерфейс сервера парусов и отправляю сообщения от Axios, но ошибка 500 (Внутренняя ошибка сервера).здесь код клиента

export default function callApi2(endpoint, method = 'GET', body) {
  
  let headers = { 'content-type': 'application/x-www-form-urlencoded' }
  console.log(body);
  
  return axios({
    method: method,
    url: `${Config.API_URL2}/${endpoint}`,
    data: JSON.stringify(body),
    headers: { 'content-type': 'application/x-www-form-urlencoded' },

  }).catch(err => {
    console.log(err);
  });

здесь код сервера

    postCommunication: async (req, res)=>{
      res.header('Access-Control-Allow-Origin', '*');
      res.header('Access-Control-Allow-Headers', 'Content-Type');
      res.header('Access-Control-Allow-Methods','GET, POST, PATCH, PUT, DELETE, OPTIONS');

      let newCommunication = req.body;
      console.log(newCommunication);
      console.log(JSON.stringify(newCommunication));


      let resulfCommunication = await Communication.create(JSON.stringify(newCommunication)).fetch();
      return  res.json(resulfCommunication);
    },

1 Ответ

0 голосов
/ 05 октября 2018

HTTP-статус 500 означает, что на стороне сервера произошел сбой.Это произошло из-за того, что вы передали неправильный тип контента в свой код Axios, который должен быть "application/json"

export default function callApi2(endpoint, method = 'GET', body) {

  let headers = { 'content-type': 'application/json' }
  console.log(body);

  return axios({
    method: method,
    url: `${Config.API_URL2}/${endpoint}`,
    data: JSON.stringify(body),
    headers: { 'content-type': 'application/json' },
  }).catch(err => {
    console.log(err);
  });

Поскольку вы упомянули, что заголовки CORS также не требуются, вы также можете удалить приведенный ниже код:

 res.header('Access-Control-Allow-Origin', '*');
 res.header('Access-Control-Allow-Headers', 'Content-Type');
 res.header('Access-Control-Allow-Methods','GET, POST, PATCH, PUT, DELETE, OPTIONS');

Добро пожаловать в StackOverflow. Если этот ответ окажется полезным, вы можете пометить его как ответ, чтобы он помог людям с той же проблемой, с которой вы столкнулись.

...