zoukankan      html  css  js  c++  java
  • 怎么写cookie

    html结构

    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<meta charset="UTF-8">
    	<title>cookies</title>
    </head>
    <body onload="checkCookie()">
    	
    </body>
    </html>
    

    定义了三个函数:设置cookis,检查cookie以及触发函数

           // 我们会创建一个可在 cookie变量中存储访问者姓名的函数
            function setCookies(name,value){
                var expdate = new Date();
                expdate.setTime(expdate.getTime() + 30*60*1000);
                console.log(expdate);
                document.cookie = name+"="+value+";expire="+expdate.toUTCString()+";path=/";
                
            }
    
            // 创建另一个函数来检查是否已设置 cookie:
            function getCookies(c_name){
                if(document.cookie.length>0){
                    var c_start = document.cookie.indexOf(c_name+'=');
                    if(c_start != -1){
                        c_start = c_start + c_name.length + 1;
                        var c_end = document.cookie.indexOf(";",c_start)
                        if(c_end == -1){
                            c_end = document.cookie.length;
                        }
    
                        return unescape(document.cookie.substring(c_start,c_end))
                    }
                }
                return "";
            }
    
            // 检测 cookis
            function checkCookie(){
                var username = getCookies('username');
                if(username!=null && username!=""){
                    alert("Welcome again "+ username+" !");
                }else{
                    username = prompt('Please enter your name:',"");
                    if(username!=null && username!=""){
                        setCookies('username',username)
                    }
                }
            }

    完成!但是你会发现在你的浏览器内没有看到效果???

    这是怎么回事呢,我们需要一个服务环境,为了方便我搭建了一个简单的node环境

    http.js

    var http = require('http');
    var fs = require('fs');
    
    var querystring = require('querystring');
    
    // 侦听服务器的request事件
    http.createServer(function(req,res){
        
        var urlIndex = req.url.substring(1);
        if(req.url == '/favicon.ico'){
            res.end();
        }else{
            hetTemplate(res,urlIndex);
        }
        
    }).listen(2016,function(){console.log('run!')});
    
    function hetTemplate(res,urlIndex){
        fs.readFile('./'+urlIndex+'.html',function(err,data){
            if(err) {
                return hadError(err,res);
            }else{
                res.end(data)
            }
        })
    }
    function hadError(err,res){
        console.log(err);
        res.end('Server error');
    }

    ok!现在我们可以尽情的测试了!

    访问方式:locahost:2016/文件名称

    http文件和你的html文件在同一目录下,当然你科一不这样做,改一下源码吧

  • 相关阅读:
    备份文件的时候,不想手敲日期时间。用这种方法
    bash 命令行自动补全
    windows 下创建虚拟conda 环境
    windows 下安装venv慢,更换国内豆瓣源
    下载某个链接100次
    Linux cached过高问题
    把一件事坚持30天
    java dump 内存分析
    微服务架构~白话
    Spring Boot自定义Redis缓存配置,保存value格式JSON字符串
  • 原文地址:https://www.cnblogs.com/pangzi666/p/5889948.html
Copyright © 2011-2022 走看看