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