2012-10-26 88 views
1

如何在下面的jQuery的例子正确返回对象返回对象: -通过jQuery JSON请求

function get_stockists() { 
    $.getJSON("/stockists/ajax_get_all", function(data) { 
     //console.log(data); 
    }); 
} 

var stockists = get_stockists(); 
console.log(stockists); 
+1

Ajax是异步的(异步JavaScript和XML),因此您需要提供回调方法。 –

回答

7

最好的方法是不返回,而是使用一个回调函数:

function getStockists(callback) { 
    $.getJSON("/stockists/ajax_get_all", callback); 
} 

getStockists(function(stockists) { 
    console.log(stockists); 
}); 
+0

由于@dfsq写回调是处理这个问题的正确方法。还有另一种方法,即设置async:false属性,但不建议这样做,因为它阻止了用户界面。 http://stackoverflow.com/questions/933713/is-there-a-version-of-getjson-that-doesnt-use-a-call-back – ebaxt

+0

不错的一个!完美的作品! – Zabs