我的Javascript(和Mootools)函数没有返回true或false

时间:2010-07-15 10:56:09

标签: javascript function mootools

我有以下功能:

function validateField(query) {
    new Request.JSON({
        onRequest  :  function() {

        },
        onSuccess : function(json){
            return true;
        },      
        data : query + '&validate=true',
        url  : base + 'ninjquiry.php'
    }).send();              
}

现在onSuccess肯定会被解雇,因为我可以在其中放置一个console.log并且它可以工作,但是如果我在其他地方执行以下操作:

console.log(validateField(query));

我得到“未定义”。为什么是这样 ?

感谢您提前提供任何帮助

  • 亚历

1 个答案:

答案 0 :(得分:1)

Ajax是异步。在onSuccess函数完成后,稍后将调用validateField回调。 return true将消失得无影无踪。

你必须让你的呼叫同步 - 我确信MooTools有一个设置 - 但是非常气馁,因为它可以冻结浏览器。

或者,这是更好的选择,更改代码,以便在onSuccess回调中发生相关的所有内容。