提取-SyntaxError:JSON中位置0处的意外令牌<

时间:2019-05-02 01:29:42

标签: javascript json ecmascript-6

我正在使用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('');
    }
  }); 

有想法吗?

1 个答案:

答案 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('');
        }
    });