Pog*_*ips 33 javascript jquery
我想通过jQuery拦截提交,并首先检查服务器上是否存在文件.如果它存在继续请求,如果不显示消息并且不发送请求.这就是我所拥有的:
$("#methodForm").submit(function(e){
checkIndex('upload/segments.gen').done(function() {
return true;
}).fail(function () {
e.preventDefault();
alert("No index present!");
return false;
});
});
Run Code Online (Sandbox Code Playgroud)
这是checkIndex():
function checkIndex(file){
return $.ajax({
url : file,
type:'HEAD'
});
}
Run Code Online (Sandbox Code Playgroud)
会发生什么:文件存在于服务器上,但checkIndex返回失败.首先,我看到警报弹出,然后继续并将发布请求发送到服务器.
我也将其checkIndex()用于其他目的,它的工作方式与预期相同,所以我很确定错误是在提交例程中的某个地方.但我不知道它有什么问题.
use*_*654 60
您不能退回到异步方法(例如ajax)的回调.相反,阻止一起提交,然后在准备好时提交.
$("#methodForm").submit(function(e){
e.preventDefault();
var form = this;
checkIndex('upload/segments.gen').done(function() {
form.submit(); // submit bypassing the jQuery bound event
}).fail(function () {
alert("No index present!");
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
38481 次 |
| 最近记录: |