Ajax-执行成功前返回false

Ajax- execute return false before success

本文关键字:返回 false 成功 执行 Ajax-      更新时间:2023-09-26

我必须在mouseover上显示元素。

这个元素中有一些细节是通过ajax实现的。

由于ajax问题导致UI不"平滑"的问题。

返回false在成功之前执行。为什么?

var companyInfoHeight = $("#company-info").outerHeight();
$('.notifications-container .notification .notification-info .notification-from-user').on('mouseover', function(event){
    var base = $(this)
    jQuery.ajax({
        url: tooltipUrl,
        type:'POST',
        data: {userId : $(this).attr('data-userid')},
        success:function(data,textStatus){
            $("#personInfo").html(data)
            $("#personInfo").css({'top':base.offset().top-userInfoHeight-115,'left':base.offset().left}).show();
        }
    });
    return false;
})
function onMouseOut(){
    $('.user-info').on('mouseleave', function(event){
        $(this).hide();
    })
}
onMouseOut();

因为成功是一个延迟事件(异步)。您的计算机向服务器发送消息需要一些时间。成功是指一旦您的计算机将消息发送到服务器时运行的功能

如果我运行这个代码,你会在"1"之前被提醒"2":

setTimeout(function(){alert("1")}, 100);
alert("2")

因为setTimeout是一个延迟事件,所以ajax调用的工作方式也是一样的。

您可能正在寻找的是html get函数,这些函数要等到收到服务器信息后才能完成:

JavaScript中的HTTP GET请求?