【问题标题】:PHP: Can I submit a form within a form using AJAX?PHP:我可以使用 AJAX 在表单中提交表单吗?
【发布时间】:2015-10-14 23:31:28
【问题描述】:

我正在修改一个现有的插件,它有一个表单。我添加代码的最佳位置是在表单末尾但在提交按钮之前。我想添加一个允许用户输入信用卡信息的表单,但是将我的表单嵌套在插件的表单中会导致问题。

我想知道我的表单嵌套是否可以以某种方式与 AJAX 一起使用。所以基本上,我只需要将 4 个输入区域(CC#、Exp date、CCV、amount)提交到 Braintree 的服务器。我需要保持对我所做的任何事情的 PCI 合规性,这可能吗?推荐吗?如果不是,是什么?

编辑 - I found a question on here 这让我想知道是否可以将这两种形式分开但使用 CSS 让它看起来像我的 screenshot。以下是问题答案之一的引述。

为什么不将输入放在表单中,而是使用 CSS 将其放置在页面的其他位置?

更新 - 我还是一头雾水……

【问题讨论】:

  • 当然可以。 AJAX 只是一种发送异步请求的方法。插件框架中的一些 javascript 魔法和研究应该可以解决所有问题
  • @PhilipTsang 那么我应该不会再遇到任何表单提交问题了?我的其中一个是一个表单的提交按钮提交了 other 表单......这很糟糕......
  • 您不能在 HTML 中嵌套表单。但是您使用 AJAX 提交的字段不需要在表单中。
  • @PhilipTsang 但是如果使用 AJAX 意味着我不符合 PCI 怎么办?我在 Google 上看到不建议通过 AJAX 向第三方支付处理公司发送信用卡信息...
  • 我不相信在您的“表格”上提供我的 CC 凭据:/

标签: javascript php jquery ajax nested-forms


【解决方案1】:

按照您的想法进行嵌套表单是违反标准的。 (有关更多信息,请参阅此问题:Can you nest html forms?

这并不意味着您不能让表单在提交时将数据发送到多个位置。使用两个 ajax 方法为表单注册一个提交处理程序。第一个获取四个数据并将它们发送到您的服务器。第二个抓取其余数据并将其发送到表单指定的位置。

【讨论】:

  • 您认为通过 AJAX 发送信用卡信息安全吗?
  • 我认为通过 ajax 提交 cc 数据并不安全。如果您是 Web 开发新手,我会回避处理 cc 数据。而是使用第三方来处理它的这方面。安全隐患不是您想要处理的。
  • 我正在使用 Braintree 进行付款处理。他们的 API 允许我创建一个自定义表单,然后我将其升级到 iFrame。但是,我不想将用户重定向到支付页面。这确实损害了整个网站的流量。难道不能通过 AJAX 向他们的服务器发送 cc 信息吗?
  • 这是可能的,但您需要确保数据通过安全连接发送,以防止在传输过程中被第三方查看。自己提交数据会使您对该数据的安全性负责。您将承担用户数据不会被黑客入侵的责任。
猜你喜欢
  • 2021-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-07
  • 1970-01-01
  • 2011-10-03
  • 2016-12-09
  • 1970-01-01
相关资源
最近更新 更多