Javascript函数true / false

时间:2013-07-06 09:22:36

标签: javascript ajax

我有以下函数检查来自服务器的返回消息,看它是否为true / false,但它似乎没有返回true或false。

// Return from server 
xhr.onload = function() {
    var data = JSON.parse(this.responseText);
    Ti.API.info(data);
    if (data.success == true) {
        Ti.API.info('Logged In');
        return true;
        // If not flag an error 
    } else {
        return false;
        Ti.API.info('Failed Registration');
    };
};

这是从服务器返回的消息,其中成功将为0或1。

{
  message = "Username already exists.";
  success = 0;
}

1 个答案:

答案 0 :(得分:1)

基本上if-else无法选择第三条路径,它始终是两条路径。但是,使用您的代码,我认为问题在于指令顺序,它应该是:

// Return from server 
xhr.onload = function() {
    var data = JSON.parse(this.responseText);
    Ti.API.info(data);
    if (data.success == true) {
        Ti.API.info('Logged In');
        return true;
        // If not flag an error 
    } else {
        Ti.API.info('Failed Registration');
        return false;
    };
};

这样就可以调用Logged InFailed Registration。 在原始帖子success=0中评估为false,但由于return语句是第一个 - Ti.API.info('Failed Registration');从未执行过。