用户关闭弹窗后如何申请优惠码?

Posted

技术标签:

【中文标题】用户关闭弹窗后如何申请优惠码?【英文标题】:How to apply coupon code after users close popup? 【发布时间】:2020-06-09 23:33:36 【问题描述】:

背景:

我有一个请求用户发送电子邮件的弹出窗口。如果他们完成电子邮件提交,我想在他们随后在结帐时购买时自动应用优惠券代码。

要应用优惠券代码,所有用户只需访问网址末尾带有/?coupon_code=xxxx 的链接。

此代码在此处获得:GET a coupon code via URL and apply it in WooCommerce Checkout page

问题:

当用户关闭弹窗时如何添加/?coupon_code=xxxx

我尝试过的:

我已尝试使用此处提供的解决方案 (Change URL without refresh the page)。这是我插入的。

history.pushState(null, '', '/?coupon_code=xxxx');

虽然这可以更改网址,但我发现在结帐时未应用优惠券代码。但是,如果我手动输入完整的网址并刷新页面,例如。 www.test.com/?coupon_code=xxxx,优惠券代码将在结帐时使用。

谢谢。

【问题讨论】:

【参考方案1】:

在这种情况下是否可以进行 AJAX/fetch 请求?我不完全确定我理解这个问题,但也许你可以试试:


let onClose = async () => 
    let response = await fetch(‘/?coupon_code=xxxx’);
    let data = await response.json();
    return data; //returns the result of your request to the coupon code URL

希望这会有所帮助!

编辑:解释为什么会这样

当您更改历史状态时,受影响的只是浏览器的本地状态。要应用优惠券代码,您实际上需要向您提供的 URL 发出 http 请求,这就是 fetch API 所做的。它是异步的,这就是我们使用 async/await 的原因。如果您愿意,也可以通过链接 .then() 来完成。

【讨论】:

谢谢。我可以知道是否有一种方法可以仅使用 javascript 来实现我想要的吗?原因是我对实现您的解决方案的编程了解不够。

以上是关于用户关闭弹窗后如何申请优惠码?的主要内容,如果未能解决你的问题,请参考以下文章

阿里云推荐码已经无效了,想优惠就用阿里云幸运券吧

2018最新七牛云存储8折充值优惠码

七牛优惠码如何使用才能获得最便宜

云服务器ECS优惠券 阿里云 ecs 5折优惠码 阿里云5折优惠码 阿里云5折推荐码 阿里云优惠码 阿里云的5折优惠券 阿里云服务器购买优惠码 服务器购买优惠码

python 生成随机优惠码(随机字符串)

95折七牛云存储账户充值优惠码 包括使用方法