我必须将网页提交到外部网站。不是问题。
问题是外部网站显示成功的消息,不好,我需要将其提交的网站重定向到更加用户友好的内容。如果我将其重定向到页面,外部网站将不会重定向,我认为这可能是最简单的。
无论如何,对此最简单省力的建议是什么?我读过有关iFRAME的内容。还有另一种方式吗?
提前致谢!
这些是静态HTML页面。
答案 0 :(得分:1)
我假设您无法触及外部网站的标记。
如果它们是静态的,那么你就缺乏解决方案。我经常使用cURL库来提供这种功能(在幕后发布到外部站点)。
您可以使用iframe和JavaScript执行此操作。将表单的目标设置为iframe的名称(可能使用CSS隐藏iframe)。然后,它应该提交罚款。
答案 1 :(得分:1)
由于您说“外部网站不会重定向”,我假设您无法控制它。
这意味着您可以考虑三种可能的方法。
答案 2 :(得分:-1)
IFRAME解决方案似乎是最简单的,但如果发生错误,您可能不会注意到。
如果提交的网站返回可预测的标记,那么AJAX路线将更可取,因为它允许您的网站解析并对帖子的结果作出反应。但是,它对于禁用JavaScript的用户很容易受到攻击。
可能最好的解决方案是编写标记以使用IFRAME技术,但在表单上放置一个“onsubmit”处理程序。如果启用了JavaScript,则处理程序可以执行AJAX操作 - 否则IFRAME解决方案将启动。
只需记住在onsubmit属性中添加'return false',以防止在启用JavaScript时提交IFRAME。
<form action="http://external.server/submission.html"
target="id_of_your_IFRAME"
onsubmit="submitViaAJAX(); return false">
... form fields ...
</form>