使用cookie传输数字变量

时间:2016-02-25 09:54:22

标签: javascript cookies

这是我的代码:

var j = 0;
var c = 0;
var riepvet = new Array();

function controllo() {

    if ((src1 == "") || (src1 == "undefined")) {
        alert("Selezionare un'immagine.");
    }
    else if(j==0) {
        riepvet[c] = src1;
        c++;
        for (var k = 0; k < c; k++) {
            alert(riepvet[k]);
        }
        location.href = "schienale.html";
        j++;

    }
    else if (j==1){
        riepvet[c] = src1;
        c++;
        for (k = 0; k < c; k++) {
            alert(riepvet[k]);
        }
        location.href = "riep.html";
        j++;
    }
}

我需要的是通过我的程序的所有页面使数字变量jc可用。这是否可以使用cookie(因为它们不是字符串而是数字)?

我已经尝试过使用eval(),但似乎没有用。

有什么建议吗?

编辑:

 Cookies.set('j', 0);
var j = parseInt(Cookies.get('j'));

Cookies.set('imuno');
var imuno = Cookies.get('imuno');
Cookies.set('imdue');
var imdue = Cookies.get('imdue');

function controllo() {

    if ((src1 == "") || (src1 == "undefined")) {
        alert("Selezionare un'immagine.");
    }
    else if (j == 0) {
        imuno = src1;
        Cookies.set('imuno', src1);
        alert(imuno);
        location.href = "schienale.html";
        j++;
        Cookies.set('j', 1);

    }
    else if (j == 1) {
        imdue = src1;
        Cookies.set('imdue', src1);
        alert(imuno,imdue);
        location.href = "riep.html";
        j++;
        Cookies.set('j', 2);
    }
}

当我检索函数Controllo()时,变量j不会保留该值。

2 个答案:

答案 0 :(得分:1)

有很多方法可以实现这一目标。

您可以使用cookies

为要存储的每个键值使用Cookie:

document.cookie = "myCookie=myValue";
document.cookie = "myOtherCookie=myOtherValue";

使用复杂数据的自定义序列化存储单个cookie,例如JSON:

document.cookie = "myCookie=" + JSON.stringify({foo: 'bar', baz: 'bar'});

您可以使用localStorage

localStorage.setItem('myvariable', 'myvalue');

答案 1 :(得分:1)

是的,你可以使用cookies,我建议js-cookie

  • 创建一个cookie:

    Cookies.set('name', 'value');
    
  • 阅读Cookie:

    Cookies.get('name'); // => 'value'
    

您可以将数字存储为字符串,然后在get之后投射它们,例如:

Cookies.set('j', j);  //Set j
j = parseInt( Cookies.get('j') );  //Get j

示例:

Cookies.set('j', 1); //Set j
var j = parseInt( Cookies.get('j') );  //Get j

if( j == 0 ){
    alert('Yes j == 0');
}else{
    alert('No j == '+j);
}

希望这有帮助。