Javascript Electron fetch以[object object]的形式返回json,但网络控制台显示返回的是正确的json对象

Javascript Electron fetch以[object object]的形式返回json,但网络控制台显示返回的是正确的json对象,javascript,json,electron,fetch,Javascript,Json,Electron,Fetch,我正在使用electron和reactjs进行一个项目。因此,我使用electron fetch从API获取数据,并使用JSON发送和返回JSON响应 在网络控制台中,我可以看到我得到了预期的结果(我还使用了测试客户端(失眠),并确认我得到了一个JSON响应,如下所示: { "result": 0, "message": null, "data": [ { "MonitorId": 2, "LogName": "Test", "LogPat

我正在使用electron和reactjs进行一个项目。因此,我使用electron fetch从API获取数据,并使用JSON发送和返回JSON响应

在网络控制台中,我可以看到我得到了预期的结果(我还使用了测试客户端(失眠),并确认我得到了一个JSON响应,如下所示:

{
  "result": 0,
  "message": null,
  "data": [
    {
      "MonitorId": 2,
      "LogName": "Test",
      "LogPath": "/root/test"
    }
  ]
}
然而,在electron应用程序中,在网络选项卡响应中,我可以看到如上所示的JSON对象,但控制台中显示了以下错误

SyntaxError:JSON中位置1处的意外标记o 在JSON.parse()处 在index.es.js:234

当我打印response.body时,我看到的是[object object],而不是实际的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);
}

我最近以同样的方式使用了普通的fetch,没有问题,所以不确定这是否是electron fetch特有的东西,或者我是否遗漏了一些东西。

如评论中所述,我看了一个使用electron和React的项目(失眠。Rest)当他们做一个请求时,发现他们似乎不使用electron fetch,而只是使用普通的fetch,但是他们使用了
window.fetch()
,当我尝试时,它似乎能按预期工作

为什么会有
resolve()
reject()
调用?
fetch()
返回一个
Promise
,因此它周围不需要额外的
Promise
,@Andreas我在我自己的助手方法中调用fetch,它返回一个Promise,因此当我的方法完成时,它的被调用位置可以得到Promise回调,嗯,乍一看我也看不到错误-内置的方法是否选择了ron
net
API是否正确返回json?如果是,可能值得仔细查看库?不确定我从未使用过它。只是刚开始使用electron/react。快速查看一下,我想我需要从start.js(创建BrowserWindow的地方)运行它?您需要在主进程中的某个地方运行它(我猜您希望在主进程中使用它-或者您可能会使用浏览器windows fetch())。即使不创建BrowserWindow,您也应该能够运行此api(仅使用electron而不是node来运行脚本)。对于我来说,将electron视为扩展的node.js运行时有很大帮助。