我们可以检索和设置PHP cookie使用javascriopt
can we retrieve and set PHP cookies using javascriopt
我用PHP设置了一个cookie,
setcookie("redirect", $this->currentPage(), time() + 31536000);
,但我想检索这个cookie的值使用javascript当某个链接被点击。我该怎么做呢?
是的,这是可能的。
试着读取cookie:
function getCookie(c_name) {
var i,x,y,ARRcookies=document.cookie.split(";");
for (i=0;i<ARRcookies.length;i++) {
x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
x=x.replace(/^'s+|'s+$/g,"");
if (x==c_name){
return unescape(y);
}
}
}
// get cookie foo
var foo = getCookie('foo');
尝试设置cookie:
/**
* Sets a cookie
*/
function setCookie(c_name,value,exdays) {
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
}
// set a cookie 'foo=bar' for 3 days
setCookie('foo', 'bar', 3);
cookie不是PHP特定的,它们是浏览器特定的,它们可以从PHP和Javascript中放置。一个简单的解决方案,你可以看看jQuery的Cookie插件
这是另一个尝试更容易理解的例子。
此外,由于cookie是编码的(键和值),您将需要对它们都进行解码。
var getCookie = function(name) {
var thisCookie,
keyValuePair,
key,
value,
cookies = document.cookie.split('; ') ;
for ( var i=0 ; i<cookies.length ; i++ ) {
thisCookie = cookies[i] ;
keyValuePair = thisCookie.split('=') ;
key = decodeURIComponent(keyValuePair[0]) ;
if ( key === name ) {
value = keyValuePair[1] ;
return (value != null) ? decodeURIComponent(value) : null;
}
}
}
关于在点击链接时获取cookie的部分,您可以在事件处理程序中调用该函数。
让我们假设您知道如何在JavaScript中获得问题链接。下面是获取文档中第一个链接的一种方法:
var link = document.querySelector('A') ;
在任何情况下,一旦你有了你的链接,这里是如何获得的值,当链接被点击:
var getCookieOnLinkClick = function() {
var cookieValue = getCookie('cookieName') ;
console.log('Cookie value is ', cookieValue) ;
}
link.addEventListener('click', getCookieOnLinkClick) ;
(当然,大多数链接将加载一个新的页面,所以你不会有太多的时间做任何事情,一旦你得到cookie值
概念错误。cookie存储在浏览器中。PHP通过HTTP请求和响应获取/设置浏览器cookie。所以PHP和浏览器JS都可以操作相同的cookie
相关文章:
- php httponly cookie在浏览器关闭时被删除
- 如何在提交表单时将PHP变量传递到Javascript cookie中
- 可以't使用ssl读取php中的cookie
- 无法读取 php 中 JavaScript 设置的 cookie
- 我可以't使用AngularJS读取用PHP创建的Cookie
- 通过JavaScript设置cookie与通过PHP设置cookie
- 是否将Javascript变量保存为PHP变量?获取、发布、COOKIE
- 如何将 JavaScript cookie 传递给 PHP cookie
- PHP Cookie 未设置/工作
- 在 html 中显示一个 php cookie
- php cookie secure javascript
- php cookie值到javascript数组
- 在JavaScript函数中用数组数据动态填充PHP cookie
- 从JavaScript中读取PHP cookie
- PHP cookie设置为重定向,googlebot也重定向-如何阻止这种情况
- 我如何保护我的PHP cookie从JavaScript用户的页面
- 我们可以检索和设置PHP cookie使用javascriopt
- 如何设置要创建的php cookie onclick事件
- Safari 中的 PHP cookie 识别
- PHP cookie 和 'JS' cookie 是一样的吗?