javascript 语法从服务器接收数据时出错[重复]

ux6nzvsh  于 2023-02-02  发布在  Java
关注(0)|答案(1)|浏览(125)
    • 此问题在此处已有答案**:

(9个答案)
昨天关门了。
我正在为一个个人项目制作一个网站,这时我遇到了一个错误。客户端请求目录列表,服务器返回一个JSON文件给客户端,但客户端显示错误"syntaxerror:我检查了服务器的输出,它说它成功地发送了文件,当我通过Web手动访问服务器时,我得到了一个有效的JSON输出(我在线检查了它)。这是客户端的问题吗?
服务器代码:

app.get('/votes', (req, res) => {
  fs.readFile(path.resolve(__dirname, 'testing.json'), (err, data) => {
    if (err) {
      res.status(500).send('Error reading file');
    } else {
      res.status(200).json(JSON.parse(data));
    }
  });
});

客户代码:

async function dataFetch() {
  await fetch('https://serverIP/votes', {
    method: 'GET',
    mode: "no-cors",
    headers: {
      'Content-Type': 'application/json'
    }
  })
    .then(response => response.json())
    .then(data => {
      console.log(`${data} <-- data`);
      jsonFile = data;
    })
    .catch(error => {
      alert("an error has occured: "+error)
      console.log(`Error: ${error}`);
}

我试过用其他方法取,但都不成功。

j9per5c4

j9per5c41#

我想你漏了结尾的那个

await fetch('https://serverIP/votes', {
    method: 'GET',
    mode: "no-cors",
    headers: {
      'Content-Type': 'application/json'
    }
  })
    .then(response => response.json())
    .then(data => {
      console.log(`${data} <-- data`);
      jsonFile = data;
    })
    .catch(error => {
      alert("an error has occured: "+error)
      console.log(`Error: ${error}`);
})}```

相关问题