【发布时间】:2023-03-22 07:39:01
【问题描述】:
明天我有一个网页设计考试,我似乎无法理解如何使用 AJAX 读取 JSONP 响应。只要没有回调函数,我就可以使用 JSON 以及 JSONP,但是当回调函数有名称时,似乎什么都不起作用。
我将举两个例子:
第一个例子
从此链接读取数据:https://openlibrary.org/api/books?bibkeys=ISBN%3A0451526538&callback=mycallback
我的功能:
$.ajax({
url: "https://openlibrary.org/api/books?bibkeys=ISBN:0451526538&callback=mycallback",
dataType: "jsonp",
success: function(data){
var isbn = data["ISBN:0451526538"].bib_key;
alert(isbn);
}
});
第二个例子
而这个我似乎无法理解为什么它起作用/不起作用。
我的方式(这行不通):
$.ajax({
url: "http://www.flickr.com/services/feeds/photos_public.gne?tags=flowers&format=json#",
dataType: "jsonp",
success: function(data){
alert(data.title);
}
});
正确代码:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script>
$.ajax({
url: "http://www.flickr.com/services/feeds/photos_public.gne?tags=flowers&format=json#",
dataType: "jsonp",
jsonp: "jsoncallback",
success: function(data){
alert(data.title);
}
});
任何人都可以花时间解释我如何通过作为访问数据的回调函数的包装器(填充)。请不要使用 $.getJSONP,这是我必须让它在我的考试中被接受的唯一方法。
【问题讨论】: