我正在为Bigcommerce应用商店构建应用,我需要以编程方式将产品添加到用户购物车,并将他/她重定向到结帐页面以进行付款处理。
我在产品页面上做了一些黑客攻击,以获取传递给构建购物车的表单数据。这在使用curl或在Chrome中使用Postman进行试用时效果很好。但是,当以编程方式尝试相同的操作时,它会提供跨域访问被拒绝错误。
有什么方法可以让它发挥作用吗?
答案 0 :(得分:1)
您应该能够在Stencil主题中使用与stencil-utils API配对的一些javascript。该代码语法的一个示例是:
/*
* Import all product-specific js
*/
[...]
import utils from '@bigcommerce/stencil-utils';
[...]
addProductToCart() {
utils.hooks.on('cart-item-add', (event) => {
event.preventDefault();
});
}
这与以下html和数据标记交互:
<form class="form" method="post" action="{{product.cart_url}}"
enctype="multipart/form-data" data-cart-item-add>
在蓝图或模板中,您可以构建一个URL,使用site.com/cart.php?action=add&sku=INSERT-SKU-HERE
将项目添加到购物车。然后,您可以检查引荐网址并根据该引荐来执行javascript重定向以结帐。
if (document.referrer == "site.com/cart.php?action=add&sku=INSERT-SKU-HERE") {
window.location.href = "site.com/checkout.php";
}
答案 1 :(得分:0)
在这种情况下,您可以使用Javascript:
var productId = '112';
location.href = '/cart.php?action=buy&product_id='+productId;
这会将产品添加到购物车,并将客户重定向到结帐页面。