javascript – 使用URL为cookie添加值

我正在我的网上商店工作,因为我不希望用户必须注册使用网上商店,我使用
javascript cookie来保存用户输入的值.但我希望那些使用不同网址进入网上商店的人(例如:
http://test.com/index.php?124&342),购物车中有2个值,我做了一些功能来处理这个问题.这是以下代码:

function getUrlVars() {
    var variabelen = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    var urls = $.cookie($.cookie('cart')) || [];

    for (var i = 0; i < variabelen.length; i++) {
        urls.push(variabelen[i]);

    }
}

if ($.cookie('cart')) {
    var Orders = $.parseJSON($.cookie('cart'));
} else {
    var Orders = new Array;
}


getUrlVars();

其中“orders”是具有所选产品ID的json数组.现在这不是我想要的.它没有将URL变量推入购物车.

好的更新:

我成功地推送了cookie中的URL变量,但现在出现以下问题.

function UpdateTotals() {
            ToAddHTML = '<h1>Cart</h1></br>';
            console.log(Orders);
            TotalPrice = 0;
            for (var i = 0; i < Orders.length ; i++) {
                var Result = SubMenuItems.filter(function(v) {
                    return v.submenu_id === Orders[i];
                })[0];
                TotalPrice += parseFloat(Result.price);
                ToAddHTML += '<div class=orderd> <span class="order" Orders='+i+'> </span>'+'&euro;'+zoekresultaat.price+' '+zoekresultaat.title+'</br></div><hr>';
            }

现场网站已开启(nb.im使用荷兰语描述,因此功能有不同的名称):

Website

最佳答案 如果我正确地理解了这个问题,这应该可以解决问题:

// Given: page.html?109&10
// -----------------------
// Split the query string on '&', after the '?' and push
// each value into the array 'Bestellingen'
// -----------------------
$.each(document.location.search.substr(1).split('&'),function(key,value){ 
    Bestellingen.push(value);
});

你可以用上面的两行替换你的方法haalUrlVars,你会发现项目109& 10会被添加到您的列表中,就像加载页面时在cookie中一样.

这有帮助吗?

点赞