【发布时间】:2013-01-30 16:06:41
【问题描述】:
我想通过 jQuery 拦截提交并首先检查服务器上是否存在文件。如果存在则继续请求,如果不存在则显示消息并且不发送请求。这就是我所拥有的:
$("#methodForm").submit(function(e){
checkIndex('upload/segments.gen').done(function() {
return true;
}).fail(function () {
e.preventDefault();
alert("No index present!");
return false;
});
});
这是checkIndex():
function checkIndex(file){
return $.ajax({
url : file,
type:'HEAD'
});
}
发生的情况是:文件存在于服务器上,但 checkIndex 返回失败。首先我看到警报弹出窗口,然后它继续并将发布请求发送到服务器。
我将checkIndex() 用于其他目的以及它按预期工作的地方,所以我很确定错误在提交例程中的某个地方。但我不知道它有什么问题。
【问题讨论】:
-
不幸的是,这只适用于同步 AJAX 请求。您应该禁用该按钮并在
done回调中启用它
标签: javascript jquery