通过js获取cookie的实例及简单分析
今天碰到一个在firefox下swfupload 上传时session不一致问题
在一个项目遇到多文件上传时,firefox下,服务器端的session获取不一致问题。
解决办法:
解决办法:将sessionID传过去!
js里:
url='/fileupload/main/fileuploadnew?'+document.cookie.split("; ")[0]
document.cookie.split("; ")[0]为sessionid,为什么这么写,看下文。
java后台:
String sessionId = request.getParameter("sessionid");
随之而来的问题是如何通过javascript获取cookie里面的一个值。 那么我们先来看看cookie到底长什么样子呢? 直接在浏览器地址栏输入: javascript:alert(document.cookie); 回车。(这行代码的意思是,让浏览器执行javascript语句: alert(document.cookie);) 结果是:uin=webryan; sessionid=10293123834; pgv_send=1; cur_page=index 这个样子。 注意:1.开始没有空格,2.分号后又空格 3.最后没有分号。那么我们获取cookie的方法就比较明确了。。
一种是用document.cookie.split(“; “)的方式把字符串分割成几个段,然后遍历整个数组。 把每个数组单元等号左边的和name对比是否相等,相等则取等号右边的值。
function getCookie(name){
var arr = document.cookie.split("; ");
for(var i=0,len=arr.length;i<len;i++){
var item = arr[i].split("=");
if(item[0]==name){
return item[1];
}
}
return"";
}
function getCookie(name){
var arr = document.cookie.split("; ");
for(var i=0,len=arr.length;i<len;i++){
var item = arr[i].split("=");
if(item[0]==name){
return item[1];
}
}
return"";
}
function getCookie(name){
var arr = document.cookie.split("; ");
for(var i=0,len=arr.length;i<len;i++){
var item = arr[i].split("=");
if(item[0]==name){
return item[1];
}
}
return "";
}
第二种就是直接在字符串中搜索关键字。由于分号有空格,加上防止出现搜索cookie name为“str”的value是,有一个test_str的cookie名称。这里我们先进行一次过滤。 然后在找到 ;str的位置,这样就不会出问题。具体情况如下
function getCookie(name){
var value="";
var cookie = ";"+document.cookie.replace(/;\s+/g,";")+";"
var pos = cookie.indexOf(";"+name+"=");
if(pos>-1){
var start = cookie.indexOf("=",pos);
var end = cookie.indexOf(";",start);
value = unescape(cookie.substring(start+1,end));
}
return value;
}
function getCookie(name){
var value="";
var cookie = ";"+document.cookie.replace(/;\s+/g,";")+";"
var pos = cookie.indexOf(";"+name+"=");
if(pos>-1){
var start = cookie.indexOf("=",pos);
var end = cookie.indexOf(";",start);
value = unescape(cookie.substring(start+1,end));
}
return value;
}
function getCookie(name){
var value="";
var cookie = ";"+document.cookie.replace(/;\s+/g,";")+";"
var pos = cookie.indexOf(";"+name+"=");
if(pos>-1){
var start = cookie.indexOf("=",pos);
var end = cookie.indexOf(";",start);
value = unescape(cookie.substring(start+1,end));
}
return value;
}
通过js获取cookie的实例及简单分析的更多相关文章
- 转 通过js获取cookie的实例及简单分析
今天review新人写的javascript代码的时候发现了很多的问题.这里以function getCookie(name){}为例. 其中比较典型的一个问题就是如何通过javascript获取co ...
- 简单利用XSS获取Cookie信息实例演示
简单利用XSS获取Cookie信息实例演示 首先要找到一个有XXS的站,这里就不整什么大站了,谷歌一下inurl:'Product.asp?BigClassName',搜出来的命中率也比较高.随便 ...
- js获取cookie
js获取cookie 之前用jQuery.cookie来获取cookie,虽然简单,但是项目上又多引用了一个插件,总觉得不太好,下面是我封装的js原生获取cookie的函数. function get ...
- node.js获取cookie
node.js 获取cookie var Cookies ={}; if (req.headers.cookie != null) { req.headers.cookie.split(';').fo ...
- js获取cookie数据并发送给服务端
js获取cookie数据并发送给服务端 <!DOCTYPE html> <html lang="en"> <head> <meta cha ...
- js获取cookie中存储的值
最近看了试卷题目发现自己会的十分的匮乏, 第一题就把自己难住了,知道有这个东西,但是实际上没有操作过. ========================================= cookie ...
- js获取cookie提取用户名asp.net+html
JavaScript是运行在客户端的脚本,因此一般是不能够设置Session的,因为Session是运行在服务器端的. 而cookie是运行在客户端的,所以可以用JS来设置cookie. 假设有这样一 ...
- js封装Cookie操作 js 获取cookie js 设置cookie js 删除cookie
每天学习一点点 编程PDF电子书.视频教程免费下载:http://www.shitanlife.com/code var CookieUtil = { // 设置cookie set : functi ...
- 用js获取cookie
//获取cookiefunction cookie_email(cookie_name){ var cookiestr = document.cookie; if (cookiestr.length ...
随机推荐
- 新冲刺Sprint3(第五天)
一.Sprint介绍 实现商品.服务信息存入数据库,实现商品图片传输(服务器传输),点击商品.服务进入商品.商品详情.商品.服务按此标准建立数据库. 二.Sprint周期 看板: 燃尽图:
- python3 如何使用ip、爬虫
使用urllib.request.random模块,不说了贴代码 url="*"; iplist=['70.254.226.206:8080'];proxy_support=url ...
- python unicode 和 str 类型的关系
python (2.X)在进行 运行时候字符串运算的时候, 分为两种类型 str, unicode 前者是 二进制的形式进行对字符串的保存, 后者是 以unicode的方式进行保存, 一般的工作方式为 ...
- Spring 的 NamedParameterJdbcTemplate(转)
NamedParameterJdbcTemplate类是基于JdbcTemplate类,并对它进行了封装从而支持命名参数特性. NamedParameterJdbcTemplate主要提供以下三类方法 ...
- Ftp类
using System; using System.Collections.Generic; using System.Text; using System.Net; using System.IO ...
- 《C标准库》——之<string.h>
<string.h>里的字符串操作函数是经常要用到的,因此阅读了源码后自己实现了一些: 拷贝函数 void * Mymemcpy(void * sDst, const void * sSr ...
- MatLab/HR
等
- Oracle启动脚本,开机自启动设置
#!/bin/sh # chkconfig: # description: Oracle auto start-stop script. # # Set ORA_HOME to be equivale ...
- 定义信息源的一些示例(xml文件)
本文目录 1.订阅博客,简单一例 2.从网页获取信息,简单一例 3.充分使用callback回调代码 4.html_re中包含多个block 5.使用html_json这个worker,解析json数 ...
- Qt开发中的实用笔记三--关于各种类的零碎知识点:
1,QUuid()创建唯一标识码,在创建数据库实体ID和链接数据库QSqlDatabase时非常方便 2,QScrollArea与QScrollBar,如果是要在widget中添加窗口滑动QScrol ...