我正在使用 JQuery 发出 JSONP 请求,并且文档非常混乱。
我有几个问题:
- JSONP 调用始终是异步的,对吗?所以
async:false
会被简单地忽略吗? - 如果
jsonpCallback
指定了参数,则在检索数据时执行此函数。但紧接着,success
回调也将被执行。Jquery 建议不要指定jsonpCallback
函数(仅用于缓存?)。这个函数与函数的关系是success
什么? - 如果
jsonpCallback
未指定,将创建随机回调函数并将其附加到window
对象。类似的东西jQuery1360574548776335413_1776656584447
,它的作用是什么?它是如何工作的?success
跟功能有关系吗? error
从未调用过回调吗?
这是我的代码:
(function($) {
var url = "https://www.googleapis.com/books/v1/volumes/zyTCAlFPjgYC";
$.ajax({
type: 'GET',
url: url,
// JSONP always async?
async: false,
jsonp: "callback",
jsonpCallback: 'jsonCallback',
contentType: "application/json",
dataType: 'jsonp',
success: function(json) {
console.dir(json);
},
// Error never called?
error: function(e) {
console.log(e.message);
}
});
})(jQuery);
function jsonCallback(json) {
$(".test").html(json.volumeInfo.title);
}