0
我正在使用.getJSON向我的PHP服務器發送搜索查詢,並返回一個已被json_encode'd數組。我希望在jQuery函數完成後使用生成的對象(理想情況下,將其推入數組中,並像使用頁面中其他任何對象一樣使用它)。jQuery中的持久化.getJSON()
但是,函數完成後對象不再存在這是成功的:
var widgets = new Array();
$.getJSON('/server.php', {query: search.value}, function(response) {
widgets.push(response);
alert('value of result's attribute1 is ' + widgets[widgets.length].attribute1);
});
但是當我離開的功能,widgets.push [長度]變爲零,我無法訪問有關push'ed對象什麼,我覺得這個會。是一個副本,而不是一個參考?
我的應用程序涉及用戶做幾個這些搜索,以創建一個小部件列表, n在每個對象的屬性之間工作。在函數完成後是否有一種可接受的方式來使此數據持久化?
什麼是'widgets'的範圍是什麼?是否(以及你在另一個函數中調用'getJSON'?試着在'widgets = new Array()'前面放上'var';這將確保你正在創建一個全局變量(只要'widgets' isn在外部範圍內聲明 – josh3736 2011-06-03 01:59:54
對不起,應該已經解釋 - widgets是全局的,第一個聲明在
我認爲你正在檢查數組的錯誤索引。
它可能是其他的東西......但這可能是它。
來源
2011-06-03 02:09:21 natedavisolds
這是對的 - 索引也是錯誤的。在我的轉錄錯誤。 – Ryan 2011-06-03 02:21:36
建立一個「小」小部件,到JSONP結果(Widget內容)加載到小工具容器所需....
這對我的作品....啊一啊二,啊三防和四個....
全局 「陣列」 可變
的JSON請求....
個調試或發現問題...
處理結果....
來源
2013-07-20 16:47:14