通过 iframe 跨域提交表单,无需服务器端控件

Posted

技术标签:

【中文标题】通过 iframe 跨域提交表单,无需服务器端控件【英文标题】:Cross domain form submission via iframe, without server side controls 【发布时间】:2015-12-22 10:50:32 【问题描述】:

我正在尝试为客户网站设置同页表单提交机制。他们的表单提交到位于不同域的处理程序页面,因此我无法通过 ajax 提交。以前我已经成功地将我的表单克隆到 iframe 并提交(我不需要保留对 iframe 的控制,也不需要验证收据,只需发布​​数据)但现在在 Chrome 中被阻止.

如果我可以控制所涉及的服务器,添加跨域标头会相对简单,但我没有。

有什么方法可以解决这个问题,还是我必须告诉我的客户我使用的方法不再可用,并且如果不进行服务器端更改他们就别无选择?

【问题讨论】:

我不相信你能做到这一点。 【参考方案1】:

无需克隆表单。只需在 <form> 元素上设置 target="iframe_name"

【讨论】:

【参考方案2】:

只需定位 iframe。 您可以动态更改表单的目标和操作,例如,如果您需要将其重用于其他提交。

<form target="IFRAME_NAME">...

【讨论】:

以上是关于通过 iframe 跨域提交表单,无需服务器端控件的主要内容,如果未能解决你的问题,请参考以下文章

阻止自动对焦跨域子帧中的表单控件

form表单提交方式

form表单提交方式

form表单的6种提交方式

form 无刷新页面提交表单

iframe跨域上传图片