我有一个模式对话框(通过jquery UI完成),它将表单提交给远程控制器Action。
这是名为:
的jquery函数$("fpForm").submit(function() {
$.ajax({
type: "POST",
url: "ForgotPassword",
data: $("#fpForm").serialize(),
success: function(response) {
alert(response);
},
error: function(response) {
alert(response);
}
});
});
该操作对数据进行一些验证,然后以JSON格式发回响应。比方说,例如,这是一个示例响应:
{"result":"NOK","message":"The user is not registered on the system"}
我的问题是:
我很抱歉,如果这个问题对你们大多数人来说似乎都很愚蠢,但我对ajax完全不熟悉,而且我正在努力学习一些我知道的经验模式。
感谢您的回复
答案 0 :(得分:1)
我的问题是:
- 为什么我在“成功”和“错误”块中设置了调试警报 不会被执行?
- 如何在保持等待的同时编写代码来解析响应 在对话框上它?
- 如何在ajax期间编写代码来阻止表单元素 调用
醇>
如果您打算使用 ID ,那么您错过了#指示符:
$( “#fpForm”)
在通话中添加sync : true
选项?
您可以:在表单元素 AFTER 上设置已禁用属性,或者使用元素屏蔽页面(可能是半透明的)转移输入。
答案 1 :(得分:1)
第一个错误是使用$("fpForm").submit
而不是$("#fpForm").submit
。
如果服务器回放JSON数据,例如JsonResult,则应该包含dataType: "json"
以将结果转换为对象中的对象。之后,您可以将alert(response);
替换为
alert('Result: ' + response.result + ', Message: ' + response.message);
要阻止表单元素,我建议您使用jQuery BlockUI Plugin。在demos上,您会找到不同的使用示例,并找到您喜欢的方式。