今天碰到一个在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的实例及简单分析的更多相关文章

  1. 转 通过js获取cookie的实例及简单分析

    今天review新人写的javascript代码的时候发现了很多的问题.这里以function getCookie(name){}为例. 其中比较典型的一个问题就是如何通过javascript获取co ...

  2. 简单利用XSS获取Cookie信息实例演示

    简单利用XSS获取Cookie信息实例演示   首先要找到一个有XXS的站,这里就不整什么大站了,谷歌一下inurl:'Product.asp?BigClassName',搜出来的命中率也比较高.随便 ...

  3. js获取cookie

    js获取cookie 之前用jQuery.cookie来获取cookie,虽然简单,但是项目上又多引用了一个插件,总觉得不太好,下面是我封装的js原生获取cookie的函数. function get ...

  4. node.js获取cookie

    node.js 获取cookie var Cookies ={}; if (req.headers.cookie != null) { req.headers.cookie.split(';').fo ...

  5. js获取cookie数据并发送给服务端

    js获取cookie数据并发送给服务端 <!DOCTYPE html> <html lang="en"> <head> <meta cha ...

  6. js获取cookie中存储的值

    最近看了试卷题目发现自己会的十分的匮乏, 第一题就把自己难住了,知道有这个东西,但是实际上没有操作过. ========================================= cookie ...

  7. js获取cookie提取用户名asp.net+html

    JavaScript是运行在客户端的脚本,因此一般是不能够设置Session的,因为Session是运行在服务器端的. 而cookie是运行在客户端的,所以可以用JS来设置cookie. 假设有这样一 ...

  8. js封装Cookie操作 js 获取cookie js 设置cookie js 删除cookie

    每天学习一点点 编程PDF电子书.视频教程免费下载:http://www.shitanlife.com/code var CookieUtil = { // 设置cookie set : functi ...

  9. 用js获取cookie

    //获取cookiefunction cookie_email(cookie_name){ var cookiestr = document.cookie; if (cookiestr.length ...

随机推荐

  1. xmind的第十一天笔记

  2. java hook

    linux下 hook的触发,需要 发送信号为15. 后续补充具体内容.

  3. 解决href标签跳转到WEB-INF下的jsp页面的办法

    用的配置struts的action的方法. jsp页面这样写的. class里面的路径是下面的struts配置文件的路径 struts配置文件里这样写的. name里面的内容要和href里面的内用一致 ...

  4. JPA @MappedSuperclass注解的使用说明

    基于代码复用和模型分离的思想,在项目开发中使用JPA的@MappedSuperclass注解将实体类的多个属性分别封装到不同的非实体类中. 1.@MappedSuperclass注解只能标准在类上:@ ...

  5. certbot+nginx (仅用作个人纪录)

    https://certbot.eff.org/#centos6-nginx https://github.com/kshcherban/acme-nginx server { listen 80; ...

  6. Oracle启动脚本,开机自启动设置

    #!/bin/sh # chkconfig: # description: Oracle auto start-stop script. # # Set ORA_HOME to be equivale ...

  7. 【WEB前端】CSS继承性和层叠性(极度重要)

    1.1 继承性 有一些属性,当给自己设置的时候,自己的后代都继承上了,这个就是继承性. 哪些属性能继承? color. text-开头的.line-开头的.font-开头的. 这些关于文字样式的,都能 ...

  8. centos安装sublime

    在官网下载,tarball    下载链接        http://www.sublimetext.com/3 提示信息:  Ubuntu 64 bit - also available as a ...

  9. sublime Text 2 配置以及 Python环境搭建

    在搭建Python环境前,先设置好Sublime Text 2的环境. 一.Sublime Text 2配置: 1.离线安装: Perferences-->Browser Packages -- ...

  10. MSXML使用教程

    在DOM接口规范中,有四个基本的接口:Document,Node,NodeList以及NamedNodeMap.在这四个基本接口中,Document接口是对文档进行操作的入口,它是从Node接口继承过 ...