2013-07-06 38 views
0

我想這樣做:如何傳遞字符串以通過getJSON的函數來填充?

var content = ""; 
$.getJSON("/plants", function(result) { 
    $.each(result.plants), function() { 
     content += "<tr><td>"+this.plant_name+"</td></tr>"; 
    }); 
}); 
$("#plant_table").append(content); 

通過我做的追加在最後一行時,content是空的。我猜這是因爲content變量的範圍,但我不熟悉如何解決這個問題。

在此先感謝。

+0

把最後一行回調 – dandavis

+0

把最後一行作爲** dandavis **回調,並檢查'console.log(result)' - 也許你的腳本沒有返回任何內容 – vladkras

+0

啊,是的,異步。非常感謝。 – Steven

回答

1

由於@dandavis,可能誰,我只是看到這個回答說其他人,請嘗試:

var content = ""; 
$.getJSON("/plants", function(result) { 
    $.each(result.plants), function() { 
     content += "<tr><td>"+this.plant_name+"</td></tr>"; 
    }); 
    $("#plant_table").append(content); 
}); 

的$ .getJSON是非阻塞/異步的,因此你的.append()之前發生$ .getJSON()成功並操縱名爲的內容

0

你必須把內容$(「#plant_table」)。append(content);在getJSON函數中。
因爲如果內容超出getJSON函數,它將首先運行。 它是同步問題。 :)

相關問題