我在我的網站上使用 Snipcart v3.3.0 作為購物車,我使用 C# 在 MVC 中構建。購物車作業正常,我能夠完成交易。
我遇到的問題是,一旦他們完成交易,我想將用戶導航到我自己網站上的感謝頁面。目前,當您使用 Snipcart 完成結帳時,默認情況下,它只會在側購物車結帳模式中顯示他們的感謝頁面。
我已經閱讀了一些關于如何完成我想要的東西的帖子,但沒有一個有效。我不斷收到這個瀏覽器控制臺錯誤,上面寫著Uncaught TypeError: Snipcart.subscribe is not a function
<script>
document.addEventListener('snipcart.ready', function () {
Snipcart.subscribe('order.completed', function (order) {
var url = '/thankyou?order=' order.token;
window.location.href = url;
});
});
我什至嘗試過使用 .execute 方法,正如其中一篇文章所建議的那樣,但這也不起作用。未捕獲的型別錯誤:Snipcart.execute 不是函式
<script>
document.addEventListener('snipcart.ready', function () {
Snipcart.execute('order.completed', function (order) {
var url = '/thankyou?order=' order.token;
window.location.href = url;
});
});
我的猜測是我缺少對 snipcart.js 的參考或其他內容。但是經過多次仔細檢查后,我得出的結論是我根本沒有錯過 snipcart.js 參考,實際上我在呼叫上面的這兩個片段之前呼叫了它。此外,購物車正在作業,因為它參考了 snipcart.js ,所以我知道事實上我并沒有錯過那個參考。
另一個想法是,由于我使用的是 3.0.0 版本,因此此實作在此版本上作業的某些 JavaScript 可能會有所不同。他們網站上的資訊將是空的檔案頁面。點擊這里
而 2.x 版的檔案顯示了我正在嘗試的代碼。點擊這里
誰能指導我完成這個?這是我獲得有關將用戶重定向到自定義感謝頁面的資訊的地方。您必須滾動到底部,他們談論將用戶帶到您自己的感謝頁面。
這個還顯示了我嘗試過但對我不起作用的代碼片段
uj5u.com熱心網友回復:
您似乎使用的是 v3,但是,您正在收聽的事件是針對 v2 的。對于 v3 ,您需要收聽此事件https://docs.snipcart.com/v3/sdk/events#cartconfirmed 。
您可以收聽 cart.confirmed 事件并使用本機瀏覽器 API (location.href) 將客戶重定向到您選擇的頁面。
uj5u.com熱心網友回復:
你在這里有兩個問題。一是使用 Snipcart 物件,二是重定向到自定義頁面。
使用 Snipcart 物件
為了使用 Snipcart 物件,您應該使用window全域物件。所以你可以像這樣訪問 Snipcart:
window.Snipcart.events.on('cart.confirmed', async (cartConfirmResponse) => {
// Your logic
})
重定向到自定義頁面
在上面的示例中,我們訂閱了cart.confirmed事件。每當購買完成時就會觸發。Snipcart 默認會打開它自己的訂單摘要頁面。因此,您可以添加一個邏輯來關閉購物車并重定向到其他頁面。你可以這樣做:
window.Snipcart.events.on('cart.confirmed', async (cartConfirmResponse) => {
await window.Snipcart.api.theme.cart.close();
window.location.replace("http://example.com/custom_page");
})
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/410634.html
標籤:
上一篇:jQuery計數大數字
