很抱歉提出这样一个基本问题。我想在我的输入页面添加一个Ajax功能:
blockUI
插件添加弹出窗口,告知用户等待batchoutput.html
)如果一切顺利,弹出消息将显示约1-2分钟,直到计算完成,然后浏览器将被重定向到batchoutput.html
页面。
但是,情况是:弹出消息窗口仅显示一秒钟,然后在一两分钟后浏览器转到batchoutput.html
。我的猜测是我的ajax功能有问题。似乎ajaxstart
和ajaxstop
失误了。我可以提一些建议吗?
以下是代码:
$('.input1_button').click(function () {
$(document).ajaxStart(function(){
$.blockUI({ css: {
border: 'none',
padding: '15px',
backgroundColor: '#000',
'-webkit-border-radius': '10px',
'-moz-border-radius': '10px',
opacity: .5,
color: '#fff'
} });
});
$(document).ajaxStop(function(){
$.unblockUI();
});
$.ajax({
type: "post",
url: "/batchoutput.html",
data: $(".articles").serialize(),
dataType: "html",
success: function() {
window.location = '/batchoutput.html';
}
});
});
答案 0 :(得分:1)
ajaxStop
,完成表示错误或成功。
因此,单击按钮后会发生以下情况:
ajaxStart
被触发,导致UI阻止/batchoutput.html
的ajax请求ajaxStop
,导致用户界面取消阻止我的建议是:
$.blockUI
直接移至click
功能)setInterval
或触发ajaxError
上的下一个请求)success
回调或ajaxSuccess
方法中完成)