Javascript cookie不起作用

Javascript cookie不起作用,javascript,cookies,session-cookies,Javascript,Cookies,Session Cookies,所以伙计们,我试着让这一切顺利。当我单击页面上的按钮时,它必须将数组转移到另一个页面才能显示它。我的功能有addProduct、showProduct、addItem和button work。但是数组中的数据不会传递到另一个页面。因此,当我单击页面a中的按钮时,会向该数组添加一个值。但是在B页上,它显示数组是空的 var products = new Array(); window.addEventListener("load", loadPage, false); windo

所以伙计们,我试着让这一切顺利。当我单击页面上的按钮时,它必须将数组转移到另一个页面才能显示它。我的功能有addProduct、showProduct、addItem和button work。但是数组中的数据不会传递到另一个页面。因此,当我单击页面a中的按钮时,会向该数组添加一个值。但是在B页上,它显示数组是空的

var products = new Array();

    window.addEventListener("load", loadPage, false);
    window.addEventListener("load", addButton, false);
    window.addEventListener("load", showProducts, false);

    function addButton() {
        var button = document.getElementById("sell");
        button.addEventListener("click", addItem, false);
    }

    function loadPage(){
        getCookie();
    }

    function getCookie(){
        var elements = document.cookie.split('=');
        var products_cookie = elements[1].split('%');
        for(var i=0;i < products_cookie.length-1;i++) {
            var tmp = products_cookie[i].split('$');
            addProduct(tmp[0], tmp[1], tmp[2]);
        }
    }

    function setCookie(){

        var date = new Date();
        date.setTime(date.getTime()+(2592000)); //expire time = 30 dagen nadat cookie aangemaakt is
        var expires = "; expires="+date.toGMTString()
        var text = "";
        for (var i = 0; i < products.length; i++){
            text+= products[i][0] + "$" + products[i][1] + "$" + products[i][2] +"%";  // slaat naam $ aantal $ prijs op
        }
        document.cookie = "tradepoint"+text+expires;
    }

    function addProduct(pName, pAmount, pPrice){
            var product = new Array(pName, parseInt(pAmount), pPrice);
            products[products.length] = product;   
        setCookie();
    }

    function addItem(){
        addProduct("andrej", 2, 1);
        alert(products + " " + products.length);
    }

    function showProducts(){
        if (products.length != 0){
            document.getElementById("shopList").innerHTML = "<ul><li>Full</li></ul>";
        }
        else{
            document.getElementById("shopList").innerHTML = "<ul><li>Empty</li></ul>";
        }
    }

cookie表示为名称=值对,您的setCookie函数没有做到您应该拥有document.cookie=tradepoint=+text+expires;注意=符号。
另外,如果设置了其他Cookie,则getCookie函数可能无法工作。

是否针对本地主机进行测试?Cookie不会粘在TLD上。您至少需要x.y.z-在主机文件中使用127.0.0.1的别名来测试cookie相关代码


stackoverflow不会让我发布一个指向本地主机的url——我想是反跟踪技术吧

Cookie有什么问题?数组中的数据无法传递到其他页面。因此,当我单击页面a中的按钮时,会向该数组添加一个值。但是在B页上,它显示数组是空的。您当然可以调试cookie是否设置正确。那么,setCookie或getCookie哪个函数不起作用呢?您是否尝试过许多cookie处理库中的一个,而不是您自己制作的函数,这些函数似乎只依赖于一个cookie的外观?您可以投票支持我的评论并接受@Musa的答案,其中包括主要参数。我正在我的Web主机上测试这一点