随着 Ajax 和动态页面似乎接管了 Internet,何时应该使用 HTML 表单?我可以想到几个地方(登录页面,或者实际上任何不会动态更改的静态页面)
真正想到的是像淘汰赛这样的事情,你有一个可以控制页面上的 HTML 的模型。您实际上不必进行表单提交,因为您有 json 中的模型,您只需执行 Ajax 调用即可将数据发送到服务器。
我一直认为表单比仅仅执行 ajax 请求增加了额外的保护,尽管我知道你永远不应该相信用户输入。
随着 Ajax 和动态页面似乎接管了 Internet,何时应该使用 HTML 表单?我可以想到几个地方(登录页面,或者实际上任何不会动态更改的静态页面)
真正想到的是像淘汰赛这样的事情,你有一个可以控制页面上的 HTML 的模型。您实际上不必进行表单提交,因为您有 json 中的模型,您只需执行 Ajax 调用即可将数据发送到服务器。
我一直认为表单比仅仅执行 ajax 请求增加了额外的保护,尽管我知道你永远不应该相信用户输入。
表单基本上用于用户输入。为什么只在通过 AJAX 时使用<form>
over ?GetElementById
就在今天,我遇到了一个类似的问题,我得出的结论是,我可以使用这段代码:
$("#YOUR_FORM").submit( function () {
serialized = $(this).serializeArray(); // <-- this saves time
除此之外,<form>
在现代的基于 jQuery 的应用程序中是否需要?据我所知,但也许比我更有经验的人会知道原因。另外我想它增加了一些组织......
如果您不熟悉该功能,它会为您收集表单数据并将其放入$_POST
数组中,无论您要发布到什么服务器端文件。
我仍然在我的大多数应用程序上使用表单,我只是使用 AJAX/JavaScript 来拦截 form.submit() 来验证我的输入。
以下是其他原因,为什么仍然使用表单:
请注意,如果您的 JavaScript 失败、出现错误或您的 CDN 无法加载,如果您使用普通表单,您的应用程序应该仍然能够生存。
例如,如果你想支持文件上传,同时又想避免 3rd 方插件,如applets
,Flash
和Silverlight
.
基本上AJAX
不支持multipart
数据。我见过带有文件字段的表单,这些字段<iframe>
旨在模拟 AJAX“外观”,但只能做这么多。