登录  /  注册
博主信息
博文 7
粉丝 0
评论 0
访问量 6812
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板

PHP与javascript的cookie交互

沅有芷兮澧有兰
原创
668人浏览过
<!doctype html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta name="viewport"
	      content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
	<meta http-equiv="X-UA-Compatible" content="ie=edge">
	<title>cookie</title>
</head>
<body>
<?php
setcookie('php_cookie','php_cookie');
echo isset($_COOKIE['js_cookie'])?$_COOKIE['js_cookie']:'暂无';
//echo $_COOKIE['js_cookie']??'暂无';
?>
<hr>
<script type="text/javascript">
    var Cookies = {};
    /** 设置Cookies */
    Cookies.set = function(name, value){
        var argv = arguments;
        var argc = arguments.length;
        var expires = (argc > 2) ? argv[2] : null;
        if(expires != null){
            var exp   = new Date();
            exp.setTime(exp.getTime() + 8*3600 + expires);
        }
        //alert(exp.toGMTString());
        var path = (argc > 3) ? argv[3] : '/';
        var domain = (argc > 4) ? argv[4] : null;
        var secure = (argc > 5) ? argv[5] : false;
        document.cookie = name + "=" + escape (value) +
            ((expires == null) ? "" : ("; expires=" + exp.toGMTString())) +
            ((path == null) ? "" : ("; path=" + path)) +
            ((domain == null) ? "" : ("; domain=" + domain)) +
            ((secure == true) ? "; secure" : "");
    };
    /** 读取Cookies */
    Cookies.get = function(name){
        var arg = name + "=";
        var alen = arg.length;
        var clen = document.cookie.length;
        var i = 0;
        var j = 0;
        while(i < clen){
            j = i + alen;
            if (document.cookie.substring(i, j) == arg)
                return Cookies.getCookieVal(j);
            i = document.cookie.indexOf(" ", i) + 1;
            if(i == 0)
                break;
        }
        return null;
    };
    /** 清除Cookies */
    Cookies.clear = function(name) {
        if(Cookies.get(name)){
            var expdate = new Date();
            expdate.setTime(expdate.getTime() - (86400 * 1000 * 1));
            Cookies.set(name, "", expdate);
        }
    };
    Cookies.getCookieVal = function(offset){
        var endstr = document.cookie.indexOf(";", offset);
        if(endstr == -1){
            endstr = document.cookie.length;
        }
        return unescape(document.cookie.substring(offset, endstr));
    };
/**-----------------------------------------------*/
    Cookies.set('js_cookie','js_cookie');
    document.write(Cookies.get('php_cookie'));
</script>
</body>
</html>

第一次执行结果:

cookie-1.jpg

第二次执行结果:

cookie-2.jpg

-------------------------------------------

tips:

js读取php的中文cookie需要 "decodeURIComponent (escape( )) "函数处理
php读取js的中文cookie需要 "unescape( )" 函数处理

----------------------------------------------

如果只是要在js中使用,可以用下面的方法:

1,localStorage.setItem("cookie", 123);//保存cookie

2,localStorage.getItem("cookie");//获取cookie值

3,localStorage.removeItem("cookie");//清除cookie值

本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 技术文章
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2023 //m.sbmmt.com/ All Rights Reserved | 苏州跃动光标网络科技有限公司 | 苏ICP备2020058653号-1

 | 本站CDN由 数掘科技 提供

登录PHP中文网,和优秀的人一起学习!
全站2000+教程免费学
  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学