请求携带cookie

cookie是只要你再客户端(浏览器)那的cookie开放而且有数据,每一次请求的时候都会自动添加到HTTP请求报文中。而后后台能够实时接收观察获取这些cookiehtml

1. 您还能够为 cookie 添加一个过时时间(以 UTC 或 GMT 时间)。默认状况下,cookie 在浏览器关闭时删除:java

2. jquery

jsajax

<body>

<div>
    <input id="inVal" type="text" /><button id="btn">发送</button>
</div>
<script src="../js/lib/jquery-3.2.1.js"></script>
<script>
    $('#btn').click(function () {
        checkCookie();
    });
    function setCookie(cname,cvalue,exdays){
        var d = new Date();
        d.setTime(d.getTime()+(exdays*24*60*60*1000));
        var expires = "expires="+d.toGMTString();
        document.cookie = cname+"="+cvalue+"; "+expires;
    }
    function getCookie(cname){
        var name = cname + "=";
        var ca = document.cookie.split(';');
        for(var i=0; i<ca.length; i++) {
            var c = ca[i].trim();
            if (c.indexOf(name)==0) { return c.substring(name.length,c.length); }
        }
        return "";
    }
    function checkCookie(){
        var user=getCookie("username");
        if (user!=""){
            alert("欢迎 " + user + " 再次访问");
            $.ajax({
                url: "postTest.do?",
                type: "POST",
                dataType: "text",
                contentType:"application/text;charset=UTF-8",
                data: {"key1":"val1","key2":"val2"},
                success: function(data) {
                    alert(data);
                },
                error: function() {
                    alert("请求出错!");
                }
            });
        }
        else {
            user = prompt("请输入你的名字:","");
            if (user!="" && user!=null){
                setCookie("username",user,30);
            }
        }
    }

</script>
</body>

java浏览器

@RequestMapping(value="postTest.do",method= RequestMethod.POST,produces = "application/text;charset=UTF-8;")
    @ResponseBody
    public String postTest(HttpServletRequest request) throws IOException {
        Cookie[] cookies = request.getCookies();
        System.out.println("cookies[0].getName() = :"+cookies[0].getName());
        System.out.println("cookies[0].getValue() = :"+cookies[0].getValue());
        return "来自后台的数据!";
    }
相关文章
相关标签/搜索