使用 jquery ajax 并省略表单操作属性的值

Posted

技术标签:

【中文标题】使用 jquery ajax 并省略表单操作属性的值【英文标题】:Using jquery ajax and omitting a value for the form action attribute 【发布时间】:2011-01-16 09:46:41 【问题描述】:

我已经创建了一个使用 jquery 到 php 后端的 ajax 注册表单。我的问题是,将表单属性 action="" 保留在空引号之间并让 ajax 接口处理所有内容是否明智。如果我对关闭 javascript 的用户不感兴趣,这种方法有什么陷阱吗?

$('#signUp').bind('click', function(event) event.preventDefault(); ...表单验证...

$.ajax( 类型:'POST', url: '../formToProcess/processor.php', 数据:入伍者, 成功:函数() );

【问题讨论】:

【参考方案1】:

我总是有一个完整的后备系统,就好像 Ajax 和/或 JS 不存在一样。假设用户将出于安全目的关闭 JS 等,或者恶意用户将绕过您进行的任何客户端验证。

【讨论】:

【参考方案2】:

由于您已经在使用 Form 标签,因此让页面优雅地降级不会杀死您。特别是因为您需要做的就是将 action 属性指向相同的 url 并重用您在后端已有的逻辑。但是如果你真的不关心优雅降级,除了浏览器尝试将表单数据发送到不存在的 url 之外,它不会有任何区别。

【讨论】:

以上是关于使用 jquery ajax 并省略表单操作属性的值的主要内容,如果未能解决你的问题,请参考以下文章

ajax和jQuery同时操作唯一效验和正则表达式

通过 jquery ajax 发送结构化表单字段

循环表单并使用 jQuery 使用 AJAX 提交

使用 AJAX PHP JQuery 提交表单将我带到操作页面

JavaScript之Ajax-6 Ajax的增强操作(jQuery对Ajax的支持表单操作)

使用JQuery的.ajax()提交表单后当前页面表单内容被清空,请问如何保留数据?