2014-07-03 77 views
0

我打電話使用$就功能JSONP服務:JSONP使用 - 範圍還是異步問題?使用jQuery

$.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對象的任何建議?

回答

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"); 
    } 
}); 
0

你甚至可以存儲在localStorage的變量

window.localStorage(<key>,<value or object>); 
返回JSONP對象