Javascript 在ajax spinner上显示消息
我正在进行一个ajax调用,并成功调用了更多函数。 在调用过程中,我在之前显示微调器,并在完成时隐藏它。 我需要用微调器显示一些消息,比如成功调用哪个函数Javascript 在ajax spinner上显示消息,javascript,jquery,ajax,Javascript,Jquery,Ajax,我正在进行一个ajax调用,并成功调用了更多函数。 在调用过程中,我在之前显示微调器,并在完成时隐藏它。 我需要用微调器显示一些消息,比如成功调用哪个函数 是微调器的标记 function runAjax(){ $.ajax({ url:"demo_test.txt", beforeSend:function(){ $('#message').show(); }, success:function(r
是微调器的标记
function runAjax(){
$.ajax({
url:"demo_test.txt",
beforeSend:function(){
$('#message').show();
},
success:function(result){
displaymessage1();
},
complete:function(){
$('#message').hide();
}
});
}
function displaymessage1(){
$('#message').append('This is message 1');
displaymessage2();
}
function displaymessage2(){
$('#message').append('This is message 2');
displaymessage3();
}
function displaymessage3(){
$('#message').append('This is message 3');
}
调用“displaymessage1()”后,我想在微调器上查看消息,然后查看displaymessage2()和displaymessage3()的消息
问题是,直到成功功能完成,消息才会出现。一旦成功完成,消息就会出现,但随着ajax的完成,消息会在几秒钟内消失
我需要显示它来创建一个处理效果,这样用户就会知道哪个方法正在运行
我还尝试设置async:false,但仍然没有帮助
请帮助,谢谢我在这里创建了代码片段来跟踪/记录状态,您也可以看到 下面的代码片段包含JavaScript、CSS和HTML代码块
(可以在末尾运行代码段)
//假设=>delayTime[0:Start,>0:Complete,undefined:for其他情况]
功能显示消息(状态文本、延迟时间){
var clear=函数(){
$(“#state”,this).empty();
},
$m=$(“#消息”).show();
如果(delayTime==0)清除调用($m);
$(“”{
文本:状态文本
}).appendTo($m.children(“#state”);
如果(延迟时间)$m.fadeOut(延迟时间,清除);
}
函数runAjax(){
$.ajax({
数据类型:“jsonp”,
网址:'http://jsfiddle.net/echo/jsonp/',
beforeSend:函数(){
显示消息(“请求已启动…”,0);
},
数据:{
“文本”:“一些文本”,
“文本2”:“另一个文本”
}
}).完成(功能(响应){
displayMessage(“请求已成功处理!”);
}).fail(函数(){
显示消息(“请求失败!”);
}).always(函数(){
displayMessage(“动作完成,状态信息将在3秒钟内清除”,3000);
});
}
$(函数(){
$(#testBtn”)。在(“单击”,运行Ajax);
});代码>
ul{
保证金:5px;
边框:2个虚线#999;
填充:10px;
}
ul>li{
线高:30px;
列表样式:无;
边框底部:1件银色虚线;
}
点击我!
消息日志。。。(本项目仅用于测试)
您的函数名与正在进行的调用不匹配。微调器的“标记”在哪里?不…消息正在出现…但它们在成功块完成之前不会出现…一旦成功完成,它们将立即出现。在您给出的代码中,函数名与调用不匹配,给定的代码不起作用,因为对象中有一个错误-它们应该存在的地方没有逗号。实际上,上面的代码是伪代码。在实际代码中,我得到了一个大约33k行的大JSON,它被我从success块调用的函数解析。检查此url并检查标题为“在页面更新时提供一些视觉反馈”的部分我试图通过使用普通的Ajax JS和JQUERY实现类似的功能。您是否希望通过使用相同的方法displaymesse1
使用result
来管理显示消息和处理业务逻辑?场景是调用“displaymesse1()”的那一刻,我应该在spinnerbox上看到消息,然后在“displaymessage2()”我应该立即在spinner上看到displaymessage2的会议,然后在spinner上看到displaymessage3的会议,然后spinner应该隐藏起来,因为在displaymessage3()之后ajax将完成。您已经检查了我在前面的评论中添加的链接,并浏览了该部分…您将了解我想要做什么