[英]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.