[英]Possible to set the value of a javascript function parameter in a callback?
這個頭銜是一口氣。 這是我在下面的代碼中嘗試做的事情。 在這種情況下,回調位於jQuery $ .get函數中。
function getMapMarkup(loadUrl, myVar) {
me = myVar;
$.get(
loadUrl,
{ var1: "hello", var2: "world" },
function(responseText) {
me = responseText;
myVar = me; //doesn't work.
},
"html"
);
}
有沒有辦法在function(responseText)
回調中更改myVar
的值,以便以后可以在程序中使用它? 還是有另一種(更好的)方式來做我想做的事情?
如果later on
意味着在$.get
調用之后立即執行,則否,這是沒有辦法的,因為AJAX是異步的並且$.get
立即返回並且成功回調可以在以后執行。 知道何時發生這種情況的唯一可靠方法是,將取決於其結果的代碼放入 success
回調中。 您還可以在成功回調中調用其他函數,以將AJAX調用的結果傳遞給該函數。
您很可能在執行回調之前正在訪問myVar
。
$.get
進行異步的AJAX調用,因此,在服務器響應后,回調函數將在以后被調用,因此對myVar
任何直接訪問都不會具有更新的值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.