我正在研究定制图书网站的项目,并且我想从Goodreads API中获得图书评论, 我的问题是我没有收到来自Ajax请求的任何内容, 这是我的代码
$.ajax({
'type': 'GET',
'url': 'https://www.goodreads.com/book/review_counts.json',
'contentType': 'application/json; charset=UTF-8',
'data': {
'key':'GHEH*******4B3w',
'format':'json',
'isbns':9782811215576,
},
'dataType':'jsonp',
'success': function(data){
console.log(data);
},
'error': function(xhr, textStatus, error){
console.log(xhr.statusText);
console.log(textStatus);
console.log(error);
}
});
我在浏览器控制台上收到这样的消息:
error
error
error
Failed to load for <script> element whose source is « https://www.goodreads.com/book/review_counts.json?callback=jQuery33108722523662348513_1538779243929&key=GH ...
但是当我尝试像这样直接从浏览器访问链接时:
https://www.goodreads.com/book/review_counts.json?key=GHE*******B3w&format=json&isbns=9782811215576
效果完美
答案 0 :(得分:2)
您遇到的问题是CORS(跨域资源共享
),goodreads.com不会allow-control-allow-origin
给任何人,除非他们在那里有HTTP响应,要求您的域使用您将无法使用的资源的授权
不过,您可以使用JSONP
或CORS代理
https://crossorigin.me/https://www.goodreads.com/book/review_counts.json?key=GHE ******* B3w&format = json&isbns = 9782811215576