Unexpected token < in JSON at position 0
不仅仅在Vue项目中,基本在任何情况下,出现这种错误,原因都基本是因为接收外部数据或者说是外部文件时,返回的应答头上的content-type字段为HTML,返回的数据被解析为HTML格式(因为HTML文件的第一个字符很明显就是"<")而不是JSON格式
上述是通过浏览器的开发者工具,查看某一文件应答头返回的数据类型,自己不妨也查看一下,报错对应的文件是否被解析为HTML
针对这样的问题,解决思路也很简单,便是查找为什么会被解析成HTML而非自己想要的数据格式。
因为我是在Vue项目中尝试调用一个外部的json数据,而发生以上错误,经过查阅资料后发现。Vue项目中,存放在src目录下的文件被调用,均会返回App.vue这个入口文件,而本人一开始的文件正是粗心大意放在src目录下。因此此处也便被解析为HTML,要解决该问题,只需要将外部的json文件放在Vue项目的static目录下即可,该目录是专门用来存储静态的外部数据
一点点小心得分享一下,如有错漏亲指出,小弟谦虚请教