Unexpected end of input 错误,求教

20 小时 5 分钟前
 pcxys

求教各位大佬,这个问题是咋回事,google 上找了一天,也没有找到好的办法。

653 次点击
所在节点    JavaScript
24 条回复
apples01
19 小时 56 分钟前
看不到图
Opportunity
18 小时 57 分钟前
说明没获取到正确的 JSON 文件,看 Network
NessajCN
18 小时 50 分钟前
你为啥会去用 HTTP GET 请求一个本地 json 文件?
你知道 fetch 是用来干嘛的吗
humbass
18 小时 31 分钟前
直接在浏览器访问 http://your-hostname/constant/ceshi.json 有返回的话,fetch 也能得到数据,否则就不对
pcxys
18 小时 25 分钟前
@Opportunity
网络里面有这个文件,状态是 200
pcxys
18 小时 24 分钟前
@NessajCN
那我应该用什么方法读取本地的 json 文件呢?
有没有什么函数之类的?
pcxys
18 小时 23 分钟前
@humbass
我现在是在本地测试的,所以可能不能用网址去访问。
如果是用本地地址去访问的话,没问题。
lisongeee
18 小时 16 分钟前
需要展示完整的 html 文件才知道,截图里不完整

比如控制台错误里的 15 行 30 列到底对应代码的哪位置?
pcxys
17 小时 49 分钟前
@lisongeee
“.then((response) => response.json())”这个是第 15 行。
humbass
17 小时 46 分钟前
@pcxys fetch 基于浏览器的,必须是 http(s),不支持本地,不知道吗?初学者?

当然 node.js 也有 fetch ,那个可以直接读取
lisongeee
17 小时 38 分钟前
测试了一下,确实出现了这个错误

因为你设置了 mode: 'no-cors', 导致拿到的 content 是 '' 空字符串,所以发生 json 解码错误

去掉上面的 mode 参数会报另外的错,意思是 fetch 只支持 chrome-extension, chrome-untrusted, data, edge, http, https, isolated-app. 这类协议

那你就别用 file 协议访问
NessajCN
17 小时 15 分钟前
@pcxys fetch 不是用来读本地文件的,或者说浏览器就不支持读本地文件,不然网站上随便来个脚本就能读你电脑里的文件不是乱套了吗
你要读这个 json ,首先是把这个文件用 http server 开放出去,也就是能在浏览器里用 http://xxx/xxx.json 访问到,这样浏览器在从其他地方 fetch 这个文件就是合法的。具体到你这个例子,我假设你是用 nginx 当服务器,那你就把 json 文件放到 index.html 同目录,然后再在 index.html 里 fetch("xxx.json")应该就能获取到了
pcxys
16 小时 37 分钟前
@humbass
确实是初学者,如果不能用,我应该用什么函数去调取本地的 json 比较好?
pcxys
16 小时 36 分钟前
@lisongeee
对,如果取消掉就会出现好像是跨域的错误。
那你有什么好的办法或者函数可以使用嘛?
pcxys
16 小时 34 分钟前
@NessajCN
那大家一般如何去调取本地的 json 文件的呢?有什么好用的函数吗?
lisxour
16 小时 23 分钟前
@pcxys #15 调不了,开个本地服务吧,或者使用浏览器最新支持的 native fs api ,不过这个就算了
daozun
16 小时 8 分钟前
使用 vscode 开发的话,下载一个 Live server 插件,它会在本地开启一个服务器,应该对你有帮助
bojackhorseman
15 小时 42 分钟前
看下来应该是 response.json 方法报错了,响应结果无法 json 序列化,加个 try catch 就行了
markgor
15 小时 26 分钟前
@pcxys 本地為何不直接 import 過來
markgor
15 小时 25 分钟前
不知道你想幹什麼,這個 json 是發佈之後也是本地的,還是說發佈後是請求線上的。
如果是發佈後請求線上的,但是你現在想調試,你可以看看 mock 這方面得。
如果發佈後都是不需要請求後端的,直接 import

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1083818

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX