使用URL向cookie添加值

时间:2014-05-22 13:33:41

标签: javascript jquery cookies

我正在网店工作,因为我不希望用户注册使用网店,我使用javascript cookies来保存用户输入的值。但我希望那些使用不同网址进入网上商店的人(例如: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();

在哪里&#34;订单&#34;是具有所选产品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

1 个答案:

答案 0 :(得分:2)

如果我正确理解了这个问题,这应该可以解决问题:

// 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&amp; 10会被添加到您的列表中,就像加载页面时在cookie中一样。

这有帮助吗?