首页 > 解决方案 > 在 JSON.parse 处获取“JSON 输入意外结束”

问题描述

只是得到一个语法错误,“JSON.parse 处的 JSON 输入意外结束”

var trivia;
var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
var request = new XMLHttpRequest();

request.open('GET', 'https://opentdb.com/api.php?amount=5&category=15&difficulty=easy&type=boolean');
 request.send();

trivia = JSON.parse(request.responseText);
console.log(trivia);

标签: javascriptjsonxml

解决方案


问题是您需要等待响应到达才能继续。您可以使用 AJAX 请求的onload事件来实现这一点:

var trivia;
var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
var request = new XMLHttpRequest();

request.open('GET', 'https://opentdb.com/api.php?amount=5&category=15&difficulty=easy&type=boolean');


request.onload = function() {
    trivia = JSON.parse(request.responseText);
    console.log(trivia);
}

request.send();

推荐阅读