这个标题有点拗口。这是我在下面的代码中尝试执行的操作。本例中的回调位于 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
的值,以便我稍后可以在程序中使用它?或者还有另一种(更好的)方法来完成我想做的事情吗?
最佳答案
如果稍后
你的意思是在$.get
调用之后立即,那么不行,没有办法,因为AJAX是异步的,并且$.get
立即返回,成功回调可以稍后执行。知道何时发生这种情况的唯一可靠方法是将依赖于其结果的代码内部放入success
回调中。您还可以在成功回调中调用其他一些函数,并将 AJAX 调用的结果传递给它。
关于javascript - 可以在回调中设置 javascript 函数参数的值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13090914/