簡體   English   中英

在設置和獲取 cookies 時遇到一些問題

[英]Having some trouble with setting and getting cookies

作為我大學課程的一部分,我正在開發一個測驗應用程序,但遇到了一些障礙。 下面的代碼適用於我編寫的幾個函數。 這些應該從名稱和 email 字段中獲取用戶輸入,驗證 email 並將名稱存儲為 cookie 以顯示在另一個頁面上。

我大部分時間都在使用它,但是我無法正確顯示存儲的 cookie 值。 它正在加載,但顯示為 undefined=ryan。 如果我鍵入一個較長的名稱,則顯示的字符串會越來越少。 我認為我嘗試拆分字符串的部分存在問題,但我終生無法弄清楚。

任何幫助或建議將不勝感激。

謝謝:)

function setCookie(cname, cvalue) 
{
    let userValue = document.getElementById("email").value;

    let pos_of_at = userValue.indexOf("@");

    if (userValue == " " || pos_of_at<0)
    {
        alert("You must enter a valid email address");
        document.getElementById("email").focus();
    }

    else
    {
        cvalue=document.getElementById("userName").value;

        document.cookie= cname + " = " + cvalue + ";";

        window.location.href="/quiz.html"
    }
}

function getCookie(cname) 
{
    let name = cname + "=";
    
    let decodedCookie = decodeURIComponent(document.cookie);

    let ca = decodedCookie.split(';');

    for(let i =0; i<ca.length; i++)
    {
        let c = ca[i];

        c = c.trim();

        if (c.indexOf(c) ==0)
        {
            return c.substring(name.length, c.length);
        }
    }

    return "cookie not found";
}


function checkCookie()
{
    document.getElementById("userName").innerHTML=getCookie("name");    
}

弄清楚了。 問題是 checkCookie function。

曾是

function checkCookie()
{
    document.getElementById("userName").innerHTML=getCookie("name");    
}

本來應該

function checkCookie()
{
    document.getElementById("userName").innerHTML=getCookie();    
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM