Javascript 当名称根据url发生变化时,如何获取AJAX响应的第一个字段?
我正在对一个开放的图书库进行AJAX调用。当我打电话时,数据返回如下:Javascript 当名称根据url发生变化时,如何获取AJAX响应的第一个字段?,javascript,jquery,ajax,Javascript,Jquery,Ajax,我正在对一个开放的图书库进行AJAX调用。当我打电话时,数据返回如下: {"ISBN:0261102303": {"bib_key": "ISBN:0261102303", "preview": "noview", "thumbnail_url": "https://covers.openlibrary.org/b/id/8447430-S.jpg", "preview_url": "https://openlibrary.org/books/OL26793280M/Lord_of_the_Ri
{"ISBN:0261102303": {"bib_key": "ISBN:0261102303", "preview": "noview",
"thumbnail_url": "https://covers.openlibrary.org/b/id/8447430-S.jpg",
"preview_url": "https://openlibrary.org/books/OL26793280M/Lord_of_the_Rings",
"info_url": "https://openlibrary.org/books/OL26793280M/Lord_of_the_Rings"}}
ajax调用如下所示:
var isbn = $(list).attr('isbn');
if(isbn == "null"){
document.getElementById("cover").style.visibility = "visible";
}
else{
var coverUrl = "ISBN:" + isbn;
a=$.ajax({
url: "https://openlibrary.org/api/books?bibkeys=ISBN:" + isbn + "&format=json",
method: "GET"
}).done(function(data) {
try{
//data.?????
}
catch(err){
alert("err");
}
}).fail(function(error) {
$("#listResults").append("An error occurred while loading cover");
});
}
问题是,返回的对象不是静态名称,而是依赖于为链接输入的变量“isbn”。由于ISBN:后面可以跟任意随机数,所以我无法执行“data.ISBN:0261102303.thumbnail\u url”,因此我如何访问所有可能的AJAX调用的thumbn\u url 您可以使用传递给ajax调用的
isbn
变量访问thumbnail\u url
属性,如:
const url = data[`ISBN:${isbn}`].thumbnail_url;
console.log( url )
如果需要访问完整的ISBN:
对象,则可以执行以下操作:
const obj = data[`ISBN:${isbn}`];
console.log( obj )
演示(使用fetch()
):
(异步()=>{
常量isbn='0261102303';
let response=等待获取(“https://openlibrary.org/api/books?bibkeys=ISBN:“+isbn+”&format=json”);
让data=wait response.json();
const obj=data[`ISBN:${ISBN}`];
控制台日志(obj)
console.log(对象缩略图url)
})();代码>
。作为控制台包装{最大高度:100%!重要;顶部:0;}