Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Check Login函数返回false,但是否继续到下一行?_Javascript_Jquery_Return - Fatal编程技术网

Javascript Check Login函数返回false,但是否继续到下一行?

Javascript Check Login函数返回false,但是否继续到下一行?,javascript,jquery,return,Javascript,Jquery,Return,以下代码检查用户,如果用户未登录,则返回false function checkLogin(e) { loggedIn = $('#loggedin').text(); if(loggedIn == '1'){ e.preventDefault(); alert("Please Log In"); return false; } } 然后在调用其他代码和ajax调用之前调用此函数 tileFavorite = $('.tile

以下代码检查用户,如果用户未登录,则返回false

  function checkLogin(e) {
    loggedIn = $('#loggedin').text();
    if(loggedIn == '1'){
      e.preventDefault();
      alert("Please Log In");
      return false;
    }
  }
然后在调用其他代码和ajax调用之前调用此函数

tileFavorite = $('.tileFavorite');
tileFavorite.on('click', function(e) {
      checkLogin(e);

     //some code goes here before ajax call

    $.ajax({
        url: // ajax call goes here,
        cache: false
    })
});
检查登录实际上是有效的。但是,如果checkLogin函数返回false,它仍将继续执行下面的代码。有办法避免这种情况吗?

试试这个

tileFavorite.on('click', function(e) {
  if(false == checkLogin(e)){
    return false;
  }
     //some code goes here before ajax call

    $.ajax({
        url: // ajax call goes here,
        cache: false
    })
});

单击tileFavorite应返回值以停止执行。

看起来您并没有对实际返回的
false
执行任何操作。你可以试试:

if (checkLogin(e)) {
    ...
    $.ajax(
        ...
    );
}

您没有采取任何措施阻止调用该代码

尝试:


这是因为返回false用于checkLogin函数。但是你的tileFavorite的点击功能仍然在执行,因为它还没有达到返回值。是的,很好,很有意义。有点“无聊”的时刻。再次感谢!谢谢你的重播,有点太晚了!
  function checkLogin(e) {
    loggedIn = $('#loggedin').text();
    if(loggedIn == '1'){
      e.preventDefault();
      alert("Please Log In");
      return false;
    }

    return true;
  }

tileFavorite.on('click', function(e) {
    if (! checkLogin(e))
      return false;

     //some code goes here before ajax call

    $.ajax({
        url: // ajax call goes here,
        cache: false
    })
});