今天在将后台数据传递到前端页面上时,由于有时候处理数据耗时有点长,如果页面上没有提示的话,就根本不知道后台到底有没有在处理数据,所以做了个简单的提示,结果图如下:
(图1:表明正在解析数据,此时div为空)
(图2:解析完毕,显示结果在下面的div中)
之前在js里这么写的,但是显然“正在解析中…”是不会显示的。
//js代码,ajax请求数据
...
success:function(res){
$('.wait').html("正在解析中...");
if(document.readyState == "complete"){
$('.wait').html("解析完毕!");
}
}
参考了使用js或者jQuery,如何在页面加载时自动显示后台传递的数据这篇百度知道的回答。
使用beforeSend局部事件
然后代码如下:
//js代码
$.ajax({
...
...
beforeSend: function (XMLHttpRequest) {
$(".wait").html("正在解析中...");
},
success: function (res) {
...
...
if(document.readyState == "complete"){
$('.wait').html("解析完毕!");
}
},
error:function(e,x){
$('.wait').html("执行发生错误!");
}
});
//html部分代码
<div class="show-text">分析结果:<span class="wait"></span></div>
<div id="result-box"></div>