当ajax异步设置为false时显示微调
我已经使用ASP.MVC创建了多屏幕方法 为此,我使用单视图和多div的概念(每个div都是每个屏幕)。当ajax异步设置为false时显示微调
当用户点击一个/上一个按钮,它会验证所有客户端和服务器端验证那么只有它会去下一个/前一屏(指div.show)
对于我使用Ajax调用服务器端调用,结果将是真或假。基于该页面将移动到下一个/上一个屏幕。
为此,我在ajax调用中设置了Async = false。这意味着它将等待服务器响应,否则它不能等待服务器响应,以便它导致下一个/上一个屏幕。
任何人都可以请建议我的解决方案,我们如何显示微调这种方法..? 在这里,我们不应该遵循会话的概念,以便我们选择这个单视图与多个div的方法。
同步ajax调用将始终冻结浏览器。你应该使用包装在jQuery的异步调用 $ .when()。then();
$.when(function() {
if (validateFunction()) {
$.ajax(...);
} else {
// code the execute on not valid
}
})
.then(function() {
hideSpinner();
});
在服务呼叫期间保持微调框处于活动状态。
然后它会进入下一个屏幕,即使它有错误验证。我们应该验证所有的服务器验证,然后只有我们必须移动到下一个屏幕 – 2015-04-01 09:18:17
您可以将您的Ajax包装在验证函数中,该验证函数在$ .when()内的有效信息上执行。我将更新我的伪代码 – vbranden 2015-04-01 13:37:06
确定谢谢 – 2015-04-01 13:46:54
您可以显示一个图像加载器只调用Ajax请求之前,隐藏在阿贾克斯成功方法加载图像。 – 2015-03-31 06:09:17
我只在做那一件。但是当我们可以使用async = false时,它可以冻结ui。所以我们不能显示这个微调。 它可以正常工作,当我们可以设置async = true或删除该属性。 – 2015-03-31 06:27:54