Javascript代码检查:尝试设置Cookie时出现令牌错误

时间:2012-08-01 18:44:28

标签: javascript cookies

我在页面的主题部分有这个

<script type="text/javascript">
        function makeCookie(name)
        {
            alert("c is for cookie");
            days=30; // number of days to keep the cookie
            var myDate = new Date();
            myDate.setTime(myDate.getTime()+(days*24*60*60*1000));
            expires="myDate.toUTCString();
            document.cookie="pull=" + name;
            alert("c is for cookie");
        }
    </script>

然后是一堆与此类似的列表项:

<a href="#tab2" onclick="makeCookie("LastName FirstName")">LastName FirstName</a>

我没有收到警报,也没有设置cookie。所以我知道我做错了什么。当我在Chrome中查看JavaScript控制台时,它也会给我带来令牌错误。所以我猜我在某处有悬挂支架,但我找不到它。

3 个答案:

答案 0 :(得分:1)

JSLint为初学者展示了这个无与伦比的公开引用:

expires = "myDate.toUTCString();
          ^

此外,onclick值中的引号是错误的,您应该使用内部JavaScript引号的单引号,以避免HTML属性中已存在的双引号含糊不清。

<a href="#tab2" onclick="makeCookie("LastName FirstName")">LastName FirstName</a>
                                    ^                  ^

答案 1 :(得分:0)

查看语法突出显示:onclick属性过早关闭,因为您尝试在" - 分隔属性中使用"。改变这个:

<a href="#tab2" onclick="makeCookie("LastName FirstName")">LastName FirstName</a>

到此:

<a href="#tab2" onclick="makeCookie('LastName FirstName')">LastName FirstName</a>

答案 2 :(得分:0)

因为onclick使用的引号与makeCookie的参数相同,所以当你做“姓氏”时它会认为你正在关闭第一组括号试试:

<a href="#tab2" onclick='makeCookie("LastName FirstName")'>LastName FirstName</a>