使用 Javascript 获取 cookie 值时出错

葡萄汁

我正在尝试使用 JavaScript 添加和检索 cookie。我的代码是

   function setCookie(name,value,days) {
                    var date = new Date();
                    date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
                    var expires = "; expires=" + date.toGMTString();            
                    document.cookie = name + "=" + value + expires + ";";
                    alert("Hello you are : "+getCookie(name)); // displaying alert message 'Hello you are :'
            }
            function getCookie(cname) { //any problem with this code?
                var rcookies = document.cookie;
                var cookiearray = rcookies.split(";");
                for (i=0;i<cookiearray.length;i++){
                    var value=cookiearray[i];
                    value=value.split("=");
                if(value[0]==cname){
                    return value[1];
                }
                }
                return "";
            }
    
    function checkCookie() {
        var user = getCookie("user");
        if (user != "") {
            alert("You are " + user); // This alert is Never displayed But it need to be. 
        } else {
            user = document.getElementById("name").value;
            alert(user); // displaying the value of text field
            setCookie("user", user, 1);
        }
    }
    <form>
    	<input type="text" id="name" name="name" required="required">
    	<input type="button" onclick="checkCookie();" id="buttons" name="button" value="cookie">
    </form>
   

问题是当我单击它设置的 cookie 按钮时(我在“查看站点信息”中看到它,它就在那里)但是当我尝试使用getCookie方法获取 cookie 时,它没有显示保存在 cookie 中的 cookie 值。而且,当我刷新页面并按“查看站点信息”图标再次查看 cookie 时,那里显示 0 个 cookie。代码有什么问题?还是我做错了什么?

特里科特

您的按钮提交表单。如果您不需要提交表单,则不要使用该form标签,否则将按钮放在它之外。或者,取消按钮单击的默认操作。

使用此 HTML(没有form)它可以正常工作:

<input id="name"><button onclick="checkCookie()">Check</button>

看到它在这个小提琴中运行

如果需要form标签,则通过return falseonclick属性中添加取消点击的默认效果

<form>
    <input type="text" id="name" name="name" required="required">
    <input type="button" onclick="checkCookie();return false;" id="buttons" name="button" value="cookie">
</form>

小提琴

本地文件

当您通过file://协议访问您的网页时,不能保证对 cookie 的支持:这取决于浏览器。查看:

所以一定要把你的网页放在网络服务器上。您可以在您的 PC 上安装一个,以防您不想将其实际放置在 Internet 上。

或者,您可以决定使用localStoragecookie 代替。这对file://协议有更好的支持,并且无论如何都有更简单的语法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用JavaScript获取Cookie

来自分类Dev

使用JavaScript获取Cookie

来自分类Dev

使用PHP获取/读取Javascript Cookie

来自分类Dev

使用PHP获取/读取Javascript Cookie

来自分类Dev

获取通过使用webkitbrowser注入的javascript修改的输入文本的值时出错

来自分类Dev

如何使用URL获取cookie值?

来自分类Dev

Js_of_ocaml-获取Cookie时出错

来自分类Dev

使用HttpWebResponse获取Cookie

来自分类Dev

Javascript:获取cookie值以记录用户的访问

来自分类Dev

JavaScript 从数组中获取唯一的 cookie 值

来自分类Dev

用JavaScript获取请求时难以发送Cookie

来自分类Dev

使用JavaScript获取纬度/经度值时获取MissingKeyMapError

来自分类Dev

获取正确的Cookie值

来自分类Dev

PHP获取Cookie值

来自分类Dev

使用Javascript设置Cookie

来自分类Dev

Javascript - 使用 Cookie

来自分类Dev

使用javascript获取标签的值

来自分类Dev

使用Javascript获取表单值

来自分类Dev

使用JavaScript获取输入值

来自分类Dev

使用javascript获取随机值

来自分类Dev

javascript获取并使用输入值

来自分类Dev

如何使用JSP正确获取Cookie值?读取值中带有'='的cookie会被截断

来自分类Dev

如何使用FCGI获取Cookie

来自分类Dev

使用JavaScript获取提交时的单选按钮值

来自分类Dev

使用 javascript 获取 html 输入值时遇到问题

来自分类Dev

使用javascript单击时获取无线电输入的值

来自分类Dev

在Java中获取Cookie值

来自分类Dev

获取JSON值时出错

来自分类Dev

获取<a href =''>值时出错