Javascript 产品ID代码不正确地转移到Shopify结账页面
我目前有一家在线商店使用shopify的结账页面。有关客户购物车的信息都是通过围绕node.js构建的我的网站完成的,然后将购物车信息发送到shopify结帐页面,在那里他们可以支付订单 以前,购物车会以URL的形式发送每个产品的产品ID和数量编号,一旦按以下格式按下“checkout”(结帐)按钮,则发送给Shopify: shop.mysite.com/cart/product1:数量,product2:数量,product3:数量,product4:数量 然而,现在Shopify不再允许“数量”的值为0,并将您置于错误410页面。我现在需要更改代码,以反映当productID的数量为零时,它将不会显示在URL中。按钮的当前代码如下所示:Javascript 产品ID代码不正确地转移到Shopify结账页面,javascript,node.js,paypal,e-commerce,shopify,Javascript,Node.js,Paypal,E Commerce,Shopify,我目前有一家在线商店使用shopify的结账页面。有关客户购物车的信息都是通过围绕node.js构建的我的网站完成的,然后将购物车信息发送到shopify结帐页面,在那里他们可以支付订单 以前,购物车会以URL的形式发送每个产品的产品ID和数量编号,一旦按以下格式按下“checkout”(结帐)按钮,则发送给Shopify: shop.mysite.com/cart/product1:数量,product2:数量,product3:数量,product4:数量 然而,现在Shopify不再允许“
function updateShopifyCart(){
var cBBM = ",product2:";
var co = ":";
var caHref = 'http://shop.mysite.com/cart/product1:';
var cMicro = ',product3:';
var cPower = ',product4:';
var bbQ = getStoredCartItemAmount('Product1name');
var bbmQ = getStoredCartItemAmount('Product2name');
var musbQ = getStoredCartItemAmount('Product3name');
var powersQ = getStoredCartItemAmount('product4name');
var cHref = caHref + bbQ + cBBM + bbmQ + cMicro + musbQ + cPower + powersQ;
$("#checkoutButton").attr("href", cHref);
}
我猜一个简单的如果;else语句可能能够解决这个问题,但我不确定如何为每个productID实现它
感谢您的帮助,谢谢!:) 我建议重构您的代码,否则编写您需要的条件将非常困难:
function updateShopifyCart(){
var products = ["product1", "product2", "product3", "product4"];
var caHref = "http://shop.mysite.com/cart/";
var url = caHref;
var first = true;
for (var i = 0; i < products.length; i++) {
var prod = products[i];
var qty = getStoredCartItemAmount(prod);
if (qty > 0) {
if (!first) {
url += ",";
}
first = false;
url += prod + ":" + qty;
}
}
$("#checkoutButton").attr("href", url);
}
函数updateShopfyCart(){
var products=[“product1”、“product2”、“product3”、“product4”];
var caHref=”http://shop.mysite.com/cart/";
var url=caHref;
var first=真;
对于(变量i=0;i0){
如果(!第一个){
url+=“,”;
}
第一个=假;
url+=产品+”:“+数量;
}
}
$(“#checkexputton”).attr(“href”,url);
}
我建议重构您的代码,否则将很难编写您需要的条件:
function updateShopifyCart(){
var products = ["product1", "product2", "product3", "product4"];
var caHref = "http://shop.mysite.com/cart/";
var url = caHref;
var first = true;
for (var i = 0; i < products.length; i++) {
var prod = products[i];
var qty = getStoredCartItemAmount(prod);
if (qty > 0) {
if (!first) {
url += ",";
}
first = false;
url += prod + ":" + qty;
}
}
$("#checkoutButton").attr("href", url);
}
函数updateShopfyCart(){
var products=[“product1”、“product2”、“product3”、“product4”];
var caHref=”http://shop.mysite.com/cart/";
var url=caHref;
var first=真;
对于(变量i=0;i0){
如果(!第一个){
url+=“,”;
}
第一个=假;
url+=产品+”:“+数量;
}
}
$(“#checkexputton”).attr(“href”,url);
}
当然,您也可以将products数组的初始化和要调用的url(caHref)移到该方法之外。您可以将它们作为输入参数传递给该方法。当然,您也可以将products数组的初始化和要调用的url(caHref)移到该方法之外。您可以将它们作为输入参数传递给方法。