Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当名称根据url发生变化时,如何获取AJAX响应的第一个字段?_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 当名称根据url发生变化时,如何获取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

我正在对一个开放的图书库进行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_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;}