javascript - Fetch - SyntaxError: Unexpected token < in JSON at position 0
问题描述
我正在使用 Fetch 来访问 API 并映射 JSON 对象。当我在浏览器中手动输入 url 时,浏览器会显示一个 json 对象。但是当我使用 Fetch 来获取相同的 URL 时,(使用我的本地构建,即http://localhost:8000
)我得到一个错误:
SyntaxError: Unexpected token < in JSON at position 0
在控制台 > 网络中,请求 URL 是http://localhost:8000/undefined,而不是我在 Fetch 中使用的 api url。
为什么它不去 api url?
这是 Fetch 块。
fetch({
url: url,
mode: 'cors',
headers: {
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*',
},
}).then(res => res.json()).then(data => data.map(event => renderEvent(event, data))).then((eventsMarkup) => {
if (eventsNode) {
eventsNode.innerHTML = eventsMarkup.join('');
}
});
想法?
解决方案
我认为您没有使用正确的 fetch 语法。尝试这个
fetch(url,
{
mode: 'cors',
headers: {
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*',
},
}).then(res => res.json()).then(data => data.map(event => renderEvent(event, data))).then((eventsMarkup) => {
if (eventsNode) {
eventsNode.innerHTML = eventsMarkup.join('');
}
});
推荐阅读
- azure - 如何使用 PowerShell 脚本将数据从外部文件插入 Azure Cosmos DB?
- python - python eve模式中的枚举类型
- linux - 在模块中找到该命令,但无法加载该模块
- r - 将趋势线、回归值和 kendall taus 值放入 r
- android - 可绘制的开始图标变得模糊
- c++ - 从 boost 序列化文件中读取会引发异常
- javascript - 绘制后单击按钮删除多边形
- keras - CNN 的学习方式不同,具体取决于提供数据的方式
- javascript - 拖放上传在 Mozilla 中不起作用
- android - Android:单选按钮中的按钮和左边框