【发布时间】:2021-03-20 10:35:50
【问题描述】:
我在解析数据时遇到了一点麻烦。当我在 if 语句中添加 JSON.parse(this.responseText) 和 this.status == 200 时,我的代码似乎不起作用。当我把它们取下来时,它就起作用了,我得到了成功的警报。不知道我做错了什么,或者我做错了,大声笑任何帮助将不胜感激!我正在使用 Yelp API。
这是我的代码:
xhr.withCredentials = true;
xhr.onreadystatechange = function() {
if(this.readyState == 4) {
console.log(this.responseText);
//let data = JSON.parse(this.responseText);
alert("Success!");
//display(data);
}
};
xhr.open("GET", "https://api.yelp.com/v3/businesses/search?term=" + resname.value + "&location=" + locationname.value+"&limit=5");
xhr.setRequestHeader("Authorization", "Bearer <MY API KEY WILL BE HERE>");
xhr.send();
解析时出错:
Unexpected end of JSON input
at JSON.parse (<anonymous>)
at XMLHttpRequest.xhr.onreadystatechange
【问题讨论】:
-
你说它不起作用意味着它是否给出任何错误
-
这是我得到的错误:index.html:1 Access to XMLHttpRequest at 'api.yelp.com/v3/businesses/search?location=NYC' from origin '127.0.0.1:5500'已被 CORS 策略阻止:对预检请求的响应没有通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。 api.yelp.com/v3/businesses/search?location=NYC:1 当我取下 json.parse 时收到成功警报(这是我添加 JSON.parse 时出现的错误 JSON.parse 中 JSON 输入的意外结束() 在 XMLHttpRequest.xhr.onreadystatechange
标签: javascript xmlhttprequest jsonparser yelp-fusion-api