Uncaught SyntaxError: Unexpected end of JSON input at JSON.parse
Uncaught SyntaxError: Unexpected end of JSON input at JSON.parse
我正在尝试将数据从 JSON 加载到我的网站。一段时间以来一切正常,但今晚我突然开始收到以下错误。 (到目前为止它在本地主机上工作)
Uncaught SyntaxError: Unexpected end of JSON input at JSON.parse (<anonymous>) at FileReader.<anonymous>
Javascript 调用 JSON 如下:
function readJSON(path) {
var xhr = new XMLHttpRequest();
xhr.open('GET', path, true);
xhr.responseType = 'blob';
xhr.onload = function(e) {
if (this.status == 200) {
var file = new File([this.response], 'temp');
var fileReader = new FileReader();
fileReader.addEventListener('load', function(){
// do stuff with fileReader.result
var volant = JSON.parse(fileReader.result);
// console.log(volant);
});
fileReader.readAsText(file);
}
}
xhr.send();
}
readJSON('https://volant.inexsda.cz/v1/workcamps.json');
我需要从 JSON 读取数据,但现在不能了。有人可以帮忙吗?
编辑:在 Safari 上一切正常。问题发生在 Chrome.
正如@abestrad 指出的那样,xhr.responseType = 'blob';
是一个可能的问题,应该是 json
概述 here。
更新:
尝试以下方法,它在同一域的 chrome 中对我有用:
function readJSON(path) {
var xhr = new XMLHttpRequest();
xhr.open('GET', path, true);
xhr.responseType = 'json';
xhr.onreadystatechange = function(e) {
if (xhr.readyState == 4) {
if (this.status == 200) {
console.log(this.response);
}
}
}
xhr.send();
}
readJSON('https://volant.inexsda.cz/v1/workcamps.json');
我正在尝试将数据从 JSON 加载到我的网站。一段时间以来一切正常,但今晚我突然开始收到以下错误。 (到目前为止它在本地主机上工作)
Uncaught SyntaxError: Unexpected end of JSON input at JSON.parse (<anonymous>) at FileReader.<anonymous>
Javascript 调用 JSON 如下:
function readJSON(path) {
var xhr = new XMLHttpRequest();
xhr.open('GET', path, true);
xhr.responseType = 'blob';
xhr.onload = function(e) {
if (this.status == 200) {
var file = new File([this.response], 'temp');
var fileReader = new FileReader();
fileReader.addEventListener('load', function(){
// do stuff with fileReader.result
var volant = JSON.parse(fileReader.result);
// console.log(volant);
});
fileReader.readAsText(file);
}
}
xhr.send();
}
readJSON('https://volant.inexsda.cz/v1/workcamps.json');
我需要从 JSON 读取数据,但现在不能了。有人可以帮忙吗?
编辑:在 Safari 上一切正常。问题发生在 Chrome.
正如@abestrad 指出的那样,xhr.responseType = 'blob';
是一个可能的问题,应该是 json
概述 here。
更新: 尝试以下方法,它在同一域的 chrome 中对我有用:
function readJSON(path) {
var xhr = new XMLHttpRequest();
xhr.open('GET', path, true);
xhr.responseType = 'json';
xhr.onreadystatechange = function(e) {
if (xhr.readyState == 4) {
if (this.status == 200) {
console.log(this.response);
}
}
}
xhr.send();
}
readJSON('https://volant.inexsda.cz/v1/workcamps.json');