我試圖調用一個包含jQuery代碼的函數。我想要這個函數返回jQuery語句的結果。它不工作,我試圖找出原因。
function showGetResult (name) {
var scriptURL = "somefile.php?name=" + name;
return $.get(scriptURL, {}, function(data) { return data; });
}
alert (showGetResult("John"));
該警報顯示「[object XMLHttpRequest]
」。但是,如果我自己運行jQuery語句,除了函數,它可以正常工作 - >$.get(scriptURL, {}, function(data) { alert(data); })
我希望能夠重新使用此代碼,通過將其放入一個函數返回$.get
數據。我在這裏犯了什麼根本錯誤?
感謝徹底的破解。切換到同步和使用外部變量傳遞數據的組合已經解決了我的問題。 – Kai 2009-10-28 20:12:46
這很好,但請注意,通過切換到同步,您可能會導致瀏覽器在等待響應時鎖定。這可能是一個錯誤,除非你知道你的用戶將永遠在閃電般的連接和你的服務器永遠不會被淹沒。這也與AJAX的含義相反 - 它意味着讓網絡應用程序更具響應能力,但這種變化可能會使您的響應能力下降得更少。 – 2009-10-28 20:17:41
我同意@JacobM最好是在所有可能的情況下使用異步,並在回調中處理您的操作。 – tvanfosson 2009-10-28 21:00:19