Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 产品ID代码不正确地转移到Shopify结账页面_Javascript_Node.js_Paypal_E Commerce_Shopify - Fatal编程技术网

Javascript 产品ID代码不正确地转移到Shopify结账页面

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不再允许“

我目前有一家在线商店使用shopify的结账页面。有关客户购物车的信息都是通过围绕node.js构建的我的网站完成的,然后将购物车信息发送到shopify结帐页面,在那里他们可以支付订单

以前,购物车会以URL的形式发送每个产品的产品ID和数量编号,一旦按以下格式按下“checkout”(结帐)按钮,则发送给Shopify:

shop.mysite.com/cart/product1:数量,product2:数量,product3:数量,product4:数量

然而,现在Shopify不再允许“数量”的值为0,并将您置于错误410页面。我现在需要更改代码,以反映当productID的数量为零时,它将不会显示在URL中。按钮的当前代码如下所示:

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)移到该方法之外。您可以将它们作为输入参数传递给方法。