为了账号安全,请及时绑定邮箱和手机立即绑定

使用TMDb API的JSON输入意外结束

使用TMDb API的JSON输入意外结束

小唯快跑啊 2021-03-29 21:18:25
我试图解析从电影数据库返回的JSON数据。我收到一条错误消息,告诉我我收到以下错误消息:Uncaught SyntaxError: Unexpected end of JSON input    at JSON.parse (<anonymous>)    at XMLHttpRequest.movieReq.onreadystatechange (discover.js:34)    at loadIMDBDetails (discover.js:38)    at MainFunc (discover.js:68)    at discover.js:5I am accessing individual movie information using the following XMLHttpRequest:movieReq.open('GET',' https: //api.themoviedb.org/3/movie/299537?api_key = ',false);我还有其他XMLHttpRequests可以返回JSON数据。这些请求正在使用API的发现功能。这是产生问题的功能function loadIMDBDetails(mO, i) {    movieReq = new XMLHttpRequest();    movieReq.onreadystatechange = function () {        var parsedObj = JSON.parse(movieReq.responseText);        mO.imdbId = parsedObj['imdb_id'];    };    movieReq.open('GET', 'https://api.themoviedb.org/3/movie/299537?api_key=34f8307d9addabf7924eab7f22cabb23', false);    movieReq.send();}When using console.log to return the responseText, this is the result:
查看完整描述

2 回答

?
慕哥6287543

TA贡献1831条经验 获得超10个赞

事实证明,我已经忘记为onreadystatechange事件添加检查了。我添加了以下检查,并在if语句中运行了json解析,这解决了我的问题!


movieReq.onreadystatechange = function () {

    if (this.readyState == 4 && this.status == 200) {

        var parsedObj = JSON.parse(movieReq.responseText);

        mO.imdbId = parsedObj['imdb_id'];

    }

};


查看完整回答
反对 回复 2021-04-08
  • 2 回答
  • 0 关注
  • 283 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信