Jquery 在on(“tabsbeforeactivate”)函数中使用ajax结果失败

Jquery 在on(“tabsbeforeactivate”)函数中使用ajax结果失败,jquery,ajax,Jquery,Ajax,我尝试在函数中使用ajax结果进行真/假返回,但它不起作用。我已经阅读了所有这些内容,因此我构建了以下代码: $( "#toolbox-tabs" ).on( "tabsbeforeactivate", function( event, ui ) { validateSession().done(function(r){ if (r.session) return true; else return false; }); });

我尝试在函数中使用ajax结果进行真/假返回,但它不起作用。我已经阅读了所有这些内容,因此我构建了以下代码:

$( "#toolbox-tabs" ).on( "tabsbeforeactivate", function( event, ui ) {
   validateSession().done(function(r){
     if (r.session)
        return true;
     else
        return false;
   });
});

function validateSession() {
   return $.ajax({
    url: check.php,
    data: {
        session_check : true
    },
    type: 'POST',
    dataType: 'json'
  });
}
php是一个简单的打印json_编码(数组(“session”=>true/false)); 问题是,即使r.session为false,on.function始终返回true。任何帮助都将不胜感激

亲切问候,,
Matty

可能是您以错误的方式调用函数尝试此

$( ".selector" ).tabs({
  beforeActivate: function( event, ui ) {}
});
试试这个,如果

if(r.session == true){
    return true;
}else{
    return false;
}

同样,它总是返回true(或者,更具体地说,即使r.session为false,也会显示选项卡),遗憾的是,结果仍然与之前在
r
中得到的结果相同。尝试签入
console.log(r)在此发布结果。取决于会话。当用户未登录时,我在日志中有对象{session=false},但选项卡正在显示,因此函数get true as return这是您控制台上的打印吗??