JQuQuery UI 对话框取消 AJAX 请求
jquery ui dialog cancel for ajax request
我试图通过表单提交发送多条信息。在此提交中,我想返回 false(取消页面请求,因为它是 ajax)并关闭表单。不幸的是,关闭似乎也确实回来了,我假设是真的。这样 post 请求就不会失败。这将使对话框仍保留在屏幕上。如果我调用 $("#dialog-form").dialog("close");然后返回 false 不运行,页面更改。
如果有人知道如何解决这个问题,或者如果我做错了什么,那将非常有帮助:
JavaScript:
$('#modifyConsoleForm').submit(function(evt) {
$.ajax({
type : 'POST',
url : jQuery("#modifyConsoleForm").attr("action"),
data : jQuery(this).serialize(),
dataType : "json",
success : function(data) {
hideError();
},
error : function(data) {
setError('modify of console failed');
}
});
$("#dialog-form").dialog("close");
return false;
});
和我的对话框初始化:
$("#dialog-form").dialog({
autoOpen : false,
height : 300,
width : 350,
modal : true,
close : function() {
allFields.val("").removeClass("ui-state-error");
}
});
我也尝试在对话框关闭时总是返回 false,但它似乎不起作用。我错过了什么吗?
尝试使用 event.preventDefault() 停止页面更改
例如:
$('#modifyConsoleForm').submit(function(evt) {
evt.preventDefault();
$.ajax({
type : 'POST',
url : jQuery("#modifyConsoleForm").attr("action"),
data : jQuery(this).serialize(),
dataType : "json",
success : function(data) {
hideError();
},
error : function(data) {
setError('modify of console failed');
}
});
$("#dialog-form").dialog("close");
return false;
});
关闭对话框并返回 true/false 应在 ajax 请求完成后,在成功和错误函数中完成。
同样明智的做法是在运行 ajax 请求时放置一个活动指示器,并在收到服务器的响应后隐藏/删除它,这样用户就会知道有一个进程正在进行。
相关文章:
- ajax请求的顺序总是不同的
- 从ajax请求中获取javascript对象
- Ajax请求文档就绪会导致jquery加载缓慢
- MockJax没有在JavaScript应用程序中发送对我AJAX请求的响应
- 正在传递JSONP标头's数据参数到另一个文件中的AJAX请求
- JavaScript代码未正确检查ajax请求
- "日期“;AJAX请求返回的类型值未定义
- 在等待ajax请求时显示微调器并禁用页面
- 跨域ajax请求
- Ajax请求返回空的数据字符串,但首先得到了正确的数据
- Javascript-如何让脚本与Ajax请求的数据一起运行
- ajax请求成功,但可以'我看不到我的数据
- 如何将给定的curl命令复制为jquery ajax请求
- 为什么我能够从javascript控制台发送跨域ajax请求
- 一台特定计算机的Ajax请求数据未定义/失败
- 获取ajax请求的请求头
- 原型Ajax请求参数为嵌套json
- 可以't从AJAX请求中筛选数据
- jQuery Mobile Collapse上的AJAX请求
- 暂停函数执行流程,直到ajax请求完成