我有这个加载消息,而我的ajax调用检索数据。但是我得到了奇怪的结果。要么消息出现,并且中途呈现,直到ajax完成或者完全出现,让用户想知道什么是错误的。我需要一个加载消息的原因是,当检索数据时,它的延迟时间大约为5-10秒,对话框打开后绘制地图,然后使用标签重绘地图的要素图层。使用jquery加载消息
这里是我的代码:
function loadData(v)
{
var reg = 1;
var vId = v;
var d =
{
regionType: reg,
varId: vId
};
//$("#loading").ajaxStart(function() {
// $(this).show();
//}).ajaxStop(function() {
// $(this).hide();
//});
$("#loading").ajaxStart(function() {
$(this).show();
});
$.ajax({
type: "GET",
url: WebRoot + "ws/bis.asmx/Data",
data: d,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
fipsData = data.d;
openBox(d);
init(regType, varId);
$("#loading").ajaxStop(function() {
$(this).hide();
});
} //ends success function
}); //ends ajax call
}; //ends message
我不认为有什么理由在'ajaxStop()'方法中包装'hide()'方法 - 你使用的是成功函数,所以除非你的'openBox'或'init'方法是做一个Ajax调用,你可以在你的成功函数的最后一行调用'hide'。 –