首页 > 解决方案 > 在表单提交时设置 cookie

问题描述

我们正在使用第三方供应商 (formstacks) 在我们的网站中构建表单。我们需要使用 formstacks 表单来实现一个封闭的内容。基本上,不提交表单就不能访问某些页面。我们在访问页面时使用 cookie 实现了这些,我们将检查是否存在 cookie,如果没有,我们将重定向到表单页面。

我们面临的问题是我们需要一种在表单提交上设置 cookie 的方法。但是由于我们为表单使用第三方供应商,因此我们无权修改表单的提交方式。他们通过向 URL 发出 POST 请求来提交表单,并在提交成功后重定向到我们想要的页面(重定向在 formstacks 中配置)。

我们尝试使用 beforeunload 事件来设置 cookie,该 cookie 将在表单提交后重定向之前设置 cookie,但问题是我们发现这在所有浏览器中都不太可靠。

有什么方法可以监听发送的 POST 请求以设置 cookie(注意 POST 请求不是 xhr 请求)注意:表单提交必须在提交 cookie 之前成功,所以在表单提交事件中这样做不是一个选项因为有适当的验证

欢迎任何建议(我们知道构建自定义表单是更简单的解决方案,但它不是我们的选择)。

标签: javascriptformstack

解决方案


推荐阅读