【发布时间】:2012-12-14 11:48:54
【问题描述】:
我在将数据从 ajax 返回到调用方函数时遇到问题。当我在 console.loging 时它是未定义的。
我相信我的问题是由于 js 是异步的,当我在 console.loging 数据时它还没有准备好。我能做些什么来解决它?
FooFunction: function(userInput){
var fooData = FooFunction2(userInput);
console.log(fooData); // <--- undefined
},
FooFunction2: function(userInput) {
$.ajax({
url:'./php/test.php',
type:'post',
dataType:'json',
data:{
fooData: userInput
},
success:function(data) {
...manipulating the data...
console.log(manipulatedData); // <--- ['foo', 'foo2'];
return manipulatedData;
}
});
},
【问题讨论】:
-
请显示
console.log(data);显示的内容。 -
从哪里来,在哪里定义 userInput ??你对这个例子什么都没说,你应该检查那个 var 开始的地方
标签: javascript jquery ajax asynchronous return