【发布时间】:2014-12-12 11:18:14
【问题描述】:
我需要确保在接收和处理 json 数据之前阻止所有用户输入。我在某处读到我可以使用 Defered 对象执行此操作,但它似乎不起作用。 我的代码:
function checkDTCCardAvailability() {
var defer = $.Deferred(),
isAvailable = defer.then(function() {
$('#pass-search-form').block({
message: '<h4>Please Wait</h4>',
css: {
backgroundColor: '#0192af',
color: '#f6d200'
}
});
$.getJSON("site_url",{
city: 'Athens',
age: 25
}, function(j) {
//process data
alert(j);
}); //JSON call
});
defer.resolve();
isAvailable.done(function() {
// Enable form
$('#pass-search-form').unblock();
});
}
有时屏幕会在警报出现之前解锁。有什么想法吗?
【问题讨论】:
-
我不认为它会解决任何问题,但是为什么要使用 PHP 来回显一个简单的字符串呢?
message: '<h4>Please Wait</h4>'也会这样做 -
将解除阻止移动到您现在有 alert(j) 的位置
-
@TouPye,没有理由。我有一些其他代码需要 php,但我在发布问题时忘记编辑它。
标签: javascript jquery json synchronize