我正在使用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网址?
这是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('');
}
});
有想法吗?
答案 0 :(得分:2)
我认为您没有使用正确的提取语法。 试试这个
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('');
}
});