【问题标题】:Nested jQuery AJAX calls with dependencies using MVC 3 and razor使用 MVC 3 和 razor 的具有依赖关系的嵌套 jQuery AJAX 调用
【发布时间】:2012-10-08 09:42:53
【问题描述】:

我正在使用 MVC 3 Ajax.BeginForm 调用通过客户端验证进行表单提交。输入字段之一是邮政编码(邮政编码),除了验证格式之外,我还想检查它是否存在于大约 200 万个条目的数据库表中。

我选择的解决方案是使用 BeginForm OnBegin 调用在提交之前执行查找,如果邮政编码不存在,则为用户提供接受或重新输入的选项。我正在使用另一个 Ajax 调用执行邮政编码查找

问题是我需要等待内部 Ajax 调用返回并在返回外部调用之前处理响应,但由于这是一个异步调用,因此该函数在内部 Ajax 完成之前继续运行。

我可以看到几个非首选的解决方案,例如使内部 Ajax 调用同步或捕获提交按钮单击事件,但有没有人建议一个干净的不显眼的解决方案。

谢谢。

【问题讨论】:

    标签: asp.net-mvc jquery


    【解决方案1】:

    您可以使用[Remote] 属性来执行远程验证。您只需使用此属性装饰视图模型上的相应属性,然后指定将执行实际验证的控制器操作。

    显然,无论您选择哪种解决方案,绝对必须在服务器上提交表单后执行相同的检查,因为在您最初使用 AJAX 检查和实际提交表单时,您的数据库数据可能会发生变化,最初有效的内容不再有效。

    【讨论】:

    • 感谢以上以及其他地方的相关帮助。问题的另一半是,如果返回为 false,我需要能够让用户覆盖该验证并确认使用在数据库中未找到的值。
    猜你喜欢
    • 2014-10-16
    • 2011-12-18
    • 2022-01-26
    • 2015-02-16
    • 1970-01-01
    • 1970-01-01
    • 2012-09-28
    • 1970-01-01
    • 2020-05-05
    相关资源
    最近更新 更多