我有一个静态网站,该网站的联系表单指向FormSpree表单。提交表单时,它将重定向到FormSpree的“成功提交页面”(或任何提交状态)。
我想介绍一个由Node构建的“中间人服务器”,以在两种服务之间执行验证。因此,静态站点将改为发布到此验证服务器。服务器将读取正文并执行一些检查,然后拒绝该请求或将其转发到FormSpree,在此处我要显示相同的“成功提交页面”。
到目前为止,我已经尝试了两种不同的方法来实现这一目标,但是没有运气:
在验证服务器上接收请求,执行验证,然后使用request.post()向FormSpree提交新的发布请求。这样可以成功地提交提交,但是不会重定向到FormSpree页面,它只会返回状态并停止。
接收请求,执行验证,然后拒绝或重定向到FormSpree服务器(307)。这有时可以成功执行重定向和提交,但是它根本不允许您修改请求正文(如果需要验证),并且它不受所有浏览器的支持,显然FF19会显示一个弹出窗口,通知用户和某些浏览器只是不承认。
是否有解决此问题的好方法?同样理想的是,我想使其与接收哪个网站并最终请求访问的网站无关,这样,如果我离开FormSpree或从静态网站进行AJAX调用,它仍然可以成为中间人。如此之大,如果它能够拦截请求,进行验证,然后再走开,让请求像从未出现过的那样继续进行,那就太好了。