我想在创建同步ajax时显示等待对话框。 我使用智能向导,以改变步骤之间的一步到我必须验证一些数据做,我必须使3 ajax调用一个接一个,而这一切都完成后,我想显示一个等待对话框。这就是我正在做的。在同步ajax上显示等待对话框
if (indexes.fromStep==1) {
res=false;
var validatorResult = validator.checkAll($("#install_modbus_form"))
if (validatorResult) {
$("#modal_loader").modal()
$.ajax({
type: "post",
url: url1,
async: false,
dataType: "json",
data:{
data
},
success: function(response)
{
if (response.success)
{
$.ajax({
type: "post",
url: url2,
async: false,
dataType: "json",
data:{
data
},
success: function(response)
{
if (response.success)
{
$.ajax({
type: "post",
url: url3,
async: false,
dataType: "json",
data:{
data
},
success: function(response)
{
if (response.success)
{
//make magic here
res=true;
}
},
failure:function()
{
waitingDialog.hide()
res=false
},
error:function(a,b,c) {
waitingDialog.hide()
res=false
}
)
}
},
failure:function()
{
waitingDialog.hide()
res=false
},
error:function(a,b,c) {
waitingDialog.hide()
res=false
}
)
}
},
failure:function()
{
waitingDialog.hide()
res=false
},
error:function(a,b,c) {
waitingDialog.hide()
res=false
}
)
$("#modal_loader").modal('hide')
return res;//if true change step
}
}
我有特里使用beforeSend显示等待对话框,我也有特里使用的setTimeout但等待对话框不显示和智能向导不往前走
希望能对你有所帮助,林新在jQuery中。
对不起,我的英文不好
你为什么使用同步ajax? –
不使用同步jax的简单解决方案如何?改为尝试ajax。无论如何,你正在使用所有必要的回调。 – Bergi
顺便说一句,在jQuery中没有'失败'回调。只有'错误'。 – Bergi