【发布时间】:2012-01-14 04:54:22
【问题描述】:
我目前正在开发一个使用大量 jQuery 和 html 表单的 MVC 应用程序。但是,最近我注意到这些似乎有些矛盾......
例如,我必须阻止表单默认提交来处理我的 AJAX 调用,否则服务器会被调用两次,这导致我质疑使用 AJAX 提交表单的想法。将$.ajax 调用挂接到<input type="button" /> 而不是<input type="submit" /> 不是更好吗?
那么,有一个通过ajax提交的表单是矛盾的吗?
【问题讨论】:
-
“矛盾”是什么意思?你觉得矛盾的是什么?
-
我觉得通过提交流程和ajax流程提交表单是相互矛盾的,因为默认提交总是优先,除非您在进行ajax调用之前阻止默认。
-
如果您的客户端支持 AJAX,是否需要强制他们往返服务器以获取整个新页面以显示感谢消息或检查某些内容的状态?我自己会使用 AJAX 提交数据并根据我的使用情况取回 HTML 或 JSON。除非您在表单提交上阻止默认设置,否则您将收到重复提交。这个想法是编写代码,使其优雅地降级。您可能会绑定到表单提交,检查是否启用了 AJAX,如果它是 preventDefault 然后执行您的 AJAX。
标签: jquery html asp.net-mvc ajax