Ajax-执行成功前返回false
Ajax- execute return false before success
我必须在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请求?
相关文章:
- Array.every返回false,而不是类型error
- Javascript If else 只返回 TRUE 或只返回 FALSE
- 为什么当我在数组上测试regex时,它会返回false
- 检查文本区域是否为空总是返回false
- PHP strtotime()为JavaScript日期字符串返回false
- onsubmit返回false,但submit仍然执行
- 这个代码会返回false吗
- Ajax向表单返回false
- 表单验证JavaScript编号总是返回false
- 使用!而in运算符在应该为true时返回false,为什么
- jQuery.is(':checked')总是返回false
- Javascript 下划线每个总是返回 false
- 提交返回 false 总是在 jquery 中
- 为什么 1.2 == true 返回 false 如果布尔值 (1.2) 实际上是真的
- 如果循环中至少有一个元素返回 false,如何将变量设置为 false
- 基本JavaScript不断返回false
- 布尔对象上的逻辑 NOT 在 Javascript 中总是返回 false
- jquery focusin没有'调用.focus()并返回false;时无效;
- Ajax-执行成功前返回false
- jQuery JSON flickr提要返回false不工作