【问题标题】:SyntaxError: JSON.parse: unexpected end of data at line 1 column 1 of the JSON data using fetchSyntaxError:JSON.parse:使用 fetch 的 JSON 数据的第 1 行第 1 列的数据意外结束
【发布时间】:2019-12-25 02:31:37
【问题描述】:

我正在使用这个功能

obtenerCursos:async function(){
                    const data = await fetch('cursos.json', {mode: 'no-cors'});
                    const cursos = await data.json();
                    commit('llenarCursos',cursos)
                }

我尝试从本地 json 文件中获取数据:

[
    {"nombre":"item1", "id":1},
    {"nombre":"item2", "id":2},
    {"nombre":"item3", "id":3}
]

但我没有得到 json 数据我得到一个对象

Response
​
body: null
​
bodyUsed: false
​
headers: Headers
​
ok: false
​
redirected: false
​
status: 0
​
statusText: ""
​
type: "opaque"
​
url: ""

我不确定自己做错了什么

【问题讨论】:

标签: javascript


【解决方案1】:
type: "opaque"

这意味着 JavaScript 看不到响应的内容

由于 JS 看不到内容,所以它可以看到的内容长度为零。因此,它会在找到任何使其有效的 JSON 之前到达内容的末尾。

它是不透明的,因为你说:

mode: 'no-cors'

不要那样做。

【讨论】:

  • 如果我不使用 {mode: 'no-cors'} 我还有另一个问题,因为 cors 请求它不是 http
  • @af1223345 — 然后运行一个网络服务器,使其成为 HTTP。通过告诉浏览器您不需要 CORS 并且它不应该做任何需要它的事情(这就是 mode: 'no-cors' 的意思),您无法读取需要 CORS 权限才能访问的文件。
  • 好的,我是在没有服务器的浏览器上直接运行文件,应该是这个问题
  • 这就是问题所在。使用网络服务器。
猜你喜欢
  • 2015-03-04
  • 1970-01-01
  • 2020-04-21
  • 1970-01-01
  • 1970-01-01
  • 2020-09-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多