我正在使用$ .ajax函数调用JSONP服务:
$.ajax({
url: jsonpURI,
dataType: "jsonp",
jsonpCallback: callback,
success: function () {
console.log("Success");
}, error: function (err) {
console.log("Failed to load external deals feed");
}
});
目标是只在JSONP中加载一次并存储它以供以后使用。似乎变量没有持有对象。
function callback(data){
console.log(data);
} // Returns null
我认为这是范围问题或异步问题。有关如何正确使用回调的任何建议,并且可以全局访问JSONP对象吗?
答案 0 :(得分:2)
jsonpcallback
是$.ajax
parameter,您可以在其中传递将用于JSONP的全局回调函数的名称(如果您不这样做)希望jQuery自己选择一个)。你真的不需要指定它。
您似乎希望将回调用作success
回调。要么将其传递给它,要么从自定义成功函数中调用它,要么将其附加到deferred methods。
$.ajax({
url: jsonpURI,
dataType: "jsonp",
success: callback, // or:
success: function(data) {
console.log("Success");
callback(data);
}, error: function (err) {
console.log("Failed to load external deals feed");
}
});
答案 1 :(得分:0)
您甚至可以将返回的JSONP对象存储在localstorage变量
中window.localStorage(<key>,<value or object>);