【发布时间】:2012-09-16 16:29:00
【问题描述】:
我想知道如何将值从 ajax 函数传递到另一个 ajax 我已经尝试过这段代码,但它不起作用。任何人都知道如何以正确的方式做到这一点?谢谢!
$("#button").click(function(){
var passedValue = '';
$.ajax({
url://
type://
success:function(data){
if(typeof==="object"){
for(var i=0;i<data.length;i++){
passedValue = data[i]["passedThis"];
}
}
}
});
$.ajax({
data: { receivedPassed: passedValue;}
});
});
【问题讨论】:
-
我的想法是,ajax 调用默认运行
asynchronously,这意味着它们将在调用的同时触发,而无需等待下一次调用。因此,passedValue将为空。如果您将async:false;添加到第一个ajax 调用中,它应该可以工作。 -
但是,它会让你的网页看起来被锁定了。
-
2 个问题。您的变量是在 click 函数内声明的,因此稍后需要时它会超出范围。此外,ajax 调用是异步的,因此第二个 ajax 调用将在变量准备好之前尝试读取它。
-
@LeeTaylor:只是一个小提示:它不会超出范围! JavaScript 具有函数作用域,变量在嵌套函数中仍然有效。
-
@qwzjk 啊,是的。由于制表符/大括号,我无法分辨。
标签: jquery