我正在使用电子和reactjs进行项目。因此,我正在使用电子获取从使用JSON发送和返回JSON响应的API提取数据。
在网络控制台中,我可以看到我得到了预期的结果(我也使用了测试客户端(Insomnia),并确认我得到了如下的JSON响应:
{
"result": 0,
"message": null,
"data": [
{
"MonitorId": 2,
"LogName": "Test",
"LogPath": "/root/test"
}
]
}
但是,在电子应用程序的“网络”选项卡响应中,我可以看到上面的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);
}
我最近以相同的方式使用了普通读取,并且没有问题,因此不确定这是否是电子读取所特有的,或者我是否在这里缺少任何内容。
答案 0 :(得分:0)
正如评论中提到的,我看了一个使用Electron和React(Insomnia.Rest)的项目,发现当他们发出请求时,他们似乎并没有使用电子取信,而是使用了{ {1}},当我尝试它似乎按预期运行时