簡體   English   中英

用戶關閉彈窗后如何申請優惠券代碼?

[英]How to apply coupon code after users close popup?

背景:

我有一個要求用戶發送電子郵件的彈出窗口。 如果他們完成電子郵件提交,如果他們隨后在結賬時購買,我想自動應用優惠券代碼。

對於要應用的優惠券代碼,所有用戶所要做的就是訪問 URL 末尾帶有/?coupon_code=xxxx的鏈接。

此代碼是在此處獲得的: 通過 URL 獲取優惠券代碼並將其應用於 WooCommerce Checkout 頁面

問題:

當用戶關閉彈出窗口時,如何添加/?coupon_code=xxxx

我嘗試過的:

我嘗試使用此處提供的解決方案( 更改 URL 而不刷新頁面)。 這是我插入的。

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

雖然這適用於更改 url,但我發現在結帳時未應用優惠券代碼。 但是,如果我手動輸入完整的 url 並刷新頁面,例如。 www.test.com/?coupon_code=xxxx ,優惠券代碼將在結賬時使用。

謝謝你。

在這種情況下,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() 來完成。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM