我想执行一个 ajax 调用并在它运行之后阻止代码,直到 ajax 调用完成。
说我有这个代码
.on('pageloadfailed', function(event){
//if I move event.preventDefault to here the popup doesn't show. But I only want
//to prevent the default bahaviour if the condition in the ajaxe response if met.
$.when(ajax1()).done(function(response){
if(resposne.success == true){
event.preventDefault();
}
});
function ajax1() {
return $.ajax({
url: "someUrl",
dataType: "json",
data: yourJsonData,
...
});
}
alert("test");
}
警报将始终触发,我只希望它在“when”方法中的代码不返回 false 时触发。
感谢各位大侠的回复,我会再深入一点。
我正在使用jquery mobile。当页面加载失败时,jqm 会显示一个弹出窗口,告诉用户刷新。但是在某些情况下,我不希望这种情况发生,我实际上想自己处理错误。
因此,当触发 pageloadfailed 事件时,我不会通过 ajax 检查某些内容。在某些情况下,我会处理发生的事情,但在其他情况下,我只想继续。
我的代码中实际上并不存在警报,我只是想用它来说明这一点。