Electron-fetch возвращает json как [объектный объект], но сетевая консоль показывает правильный json возвращаемый объект - PullRequest
0 голосов
/ 02 февраля 2020

Я работаю над проектом с использованием электронов и reactjs. Поэтому я использую электронную выборку для извлечения данных из API, используя JSON для отправки и возврата JSON ответа.

В сетевой консоли я вижу ожидаемый результат (я также использую тестовый клиент (бессонница) и подтверждаю, что получаю ответ JSON, который выглядит следующим образом:

{
  "result": 0,
  "message": null,
  "data": [
    {
      "MonitorId": 2,
      "LogName": "Test",
      "LogPath": "/root/test"
    }
  ]
}

Однако в электронном приложении в ответе на вкладке сети я вижу объект JSON, как указано выше, но в консоли отображается следующая ошибка

SyntaxError: Неожиданный токен o в JSON в позиции 1 в JSON .parse () в index.es. js: 234

Когда я распечатываю response.body, я вижу [объект объекта] вместо фактического JSON.

Ниже приведен мой запрос на выборку

try
{
    fetch(url, {
         method: 'post',
         headers: {
           'Content-Type': 'application/json',
           'authorisation_token': authorisation
         },
         mode: 'cors',
         body: JSON.stringify(postArray)
    }).then(function (response) {
         if (response.status !== 200)
         {
             console.log("Something went wrong. Status Code: " + response.status);
             reject(response);
             return;
         }

         console.log(response);

         response.json().then(function (data) {
             resolve(data);
         }).catch(function (err) {
             console.error("Caught Error: " + err);
             reject(err);
         });
    });
}
catch (err)
{
   console.error(err);
}

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

1 Ответ

0 голосов
/ 09 марта 2020

Как упомянуто в комментариях, я посмотрел на проект, который использует Electron и React (Insomnia.Rest) и обнаружил, что когда они делают запрос, они, кажется, не используют электронное извлечение, просто нормальное извлечение, но они делают window.fetch() и когда я попробовал, это, кажется, работает как ожидалось

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...