fetch SyntaxError: Unexpected token < in JSON at position 0

发布于 2022-09-05 21:41:25 字数 502 浏览 8 评论 0

我在尝试使用fetch从express服务端获取数据时,总是报这个错,google也没有找到解决办法
server.js

var express = require('express')
var app = express()

app.get('../pages/endsite', function(req, res) {
  res.json({message: 'success'})
})

fetch

async function fetchGank() {
  try {
    let res = await fetch('../express/server')

    // 等待 parse json
    let data = await res

    console.log (data.message)
  }
  catch(e) {
    console.log(e)
  }

}
fetchGank()


是哪里出错了么?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

亽野灬性zι浪 2022-09-12 21:41:25

报这个错误一般要解析的 JSON 字符串不合法,我猜测你接收到的不是 JSON 字符串,而是 HTML 文本,所以报第一个字符是 <
你可以打印一下 res.headers.get('content-type'),看看是不是 application/json,或者通过其他方式看看接口返回的是否是合法的 JSON 字符串。
编辑

var app = require('express')()
app.get('/', (req, res) => {
  res.json({data: 'hello world'})
})
app.listen(3000)
傻比既视感 2022-09-12 21:41:25

直接返回res
不要返回res.json

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文