我正在我的网上商店工作,因为我不希望用户必须注册使用网上商店,我使用
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>'+'€'+zoekresultaat.price+' '+zoekresultaat.title+'</br></div><hr>';
}
现场网站已开启(nb.im使用荷兰语描述,因此功能有不同的名称):
最佳答案 如果我正确地理解了这个问题,这应该可以解决问题:
// 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中一样.
这有帮助吗?