javascript - onSubmit 函数即使没有提交也会发送 cookie

标签 javascript

我只是尝试在提交表单时设置 cookie,但似乎该函数设置了 每次刷新页面时都会有 cookie

function Sub(){
var exdays="3000";
var value="asdf";
var exdate=new Date();
var c_name="asdf";
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;

alert("asdf"); //just for debugging
return true; }
</SCRIPT>

<form id="myform" action="http://localhost" onsubmit="return Sub();">

最佳答案

浏览器将在对同一 URL 的每次请求时发送 cookie,直到它被删除、过期;对于 session cookie,直到创建新 session 为止。

您正在设置过期时间,因此它不是 session cookie。因此,无论您是否单击了某些内容,您的浏览器都会在每个页面加载时将 cookie 发送到该 URL。

尝试删除过期日期、清除 Cookie 缓存并重新启动浏览器。

只有您提交一次后,cookie 才会出现。然后 cookie 将一直存在,直到您关闭 session (重新启动浏览器)为止。

关于javascript - onSubmit 函数即使没有提交也会发送 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5204963/

相关文章:

javascript - 在 AJAX 函数 .remove() 中不起作用

php - 我怎样才能获得这种格式的二维数组?

javascript - 动态创建的 "it"的嵌套描述和行为

javascript - 是否有任何可以在浏览器中呈现终端输出的 javascript 库?

javascript - 如何知道 DOM 元素何时移动或调整大小

Javascript:运算符重载

javascript - 多个 xmlhttp 请求 - JSON get 被覆盖

javascript - 解析电子商务数据以推送到 Google 标签管理器的数据层

javascript - 如果从 jqgrid colmodel 创建发布数据,如何删除 eval

javascript - JSON 中的二进制数据