可能重复:
如何从函数返回AJAX调用的响应? 在我的App命名空间中,我刚刚定义了一个函数:
版本1
在版本1中,当我在Firebug上尝试使用“App.isLogged()”函数时,会得到一个模糊的未定义值:S。
在版本2中,当我在Firebug上尝试使用该函数时,responseText似乎是未定义的:stuck:
我对JavaScript还不太了解,可能是作用域问题...
我认为我的函数目标很明确,有更好的方法实现吗?
如何从函数返回AJAX调用的响应? 在我的App命名空间中,我刚刚定义了一个函数:
版本1
window.App = {
isLogged: function () {
$.get('/user/isLogged', function (data) {
if (data == 'true') {
return true;
}
return false;
});
}
};
版本 2
window.App = {
isLogged: function () {
var test = $.get('/user/isLogged');
console.log(test.responseText);
}
};
在版本1中,当我在Firebug上尝试使用“App.isLogged()”函数时,会得到一个模糊的未定义值:S。
在版本2中,当我在Firebug上尝试使用该函数时,responseText似乎是未定义的:stuck:
我对JavaScript还不太了解,可能是作用域问题...
我认为我的函数目标很明确,有更好的方法实现吗?
App.isLogged
没有返回任何内容。在你的 #1 选项中,所有的return
只是从.get()
的内部处理函数中返回,而不是从App
函数中返回。 - Hieu Le