2016-08-06 6 views
0

In einer Webshop-Produktseite möchte ich das Produkt mit jquery cookie als Favorit speichern.Produkt als Lieblingsprodukt mit jquery cookie speichern

Aber wenn ich auf Speichern klicke, bekomme ich immer die Nachricht, dass die Produkte als Favorit gespeichert wurden, auch wenn das Produkt gespeichert wurde. Ich bekomme nie die Masse, dass dieses Produkt bereits auf der Favoritenliste steht.

$('#favorite_button').click(function() 
{ 
    var cookie_message, item_id, most_van;//most_van means, that the cookie exists with the procut ID 
    item_id = <?php echo $kat_id ?>; // product ID 
    var cookie_val = $.cookie("kedvenc_termek_cookie"); 
    if (cookie_val) 
    { 
     most_van = cookie_val.split("|"); 
    } 
    else 
    { 
     most_van = []; 
    } 
    if ($.inArray(item_id, most_van) === -1) 
    { 
     most_van.push(item_id); 
     $.removeCookie('kedvenc_termek_cookie'); 
     $.cookie('kedvenc_termek_cookie', most_van.join("|"), { expires: 7, path: "/" }); 
     cookie_message = "Product saved as favorite."; 
    } 
    else 
    { 
     cookie_message = "This product is alredy on your favorite list."; 
    } 
    $('#FavoritItemModalResult').html(cookie_message); 
    $('#FavoritItemModal').modal('show'); 
    setTimeout(function() 
    { 
     $('#FavoritItemModal').modal('hide'); 
    }, 3000); 
}); 

Antwort

0

Ihr Cookie Split() Delimiter ist falsch. Es ist ;, nicht |:

var cookies = []; 
document.cookie.split(/; */).forEach(function(cookieraw){ 
    var cookie = this.split('='); 
    var name = cookieraw[0];//print it 
    var value = cookieraw[1]; //print it 

    cookies.push({ "name": name, "value": value }); 
}); 
+0

ich ändere | zu;, aber ich habe immer noch das gleiche Problem. –