解决方案 »

  1.   


    你这个貌似是一个方法,我曾经也想过。session-id是保存在cookie中的,服务端的request.session.id其实就是客户端的cookie的seesion-id,你说的"setcookie 值用不会重复的随机数",这个是可以做到的。但是怎样在js轮询的时候,把这个cookie值跨域发送到服务端??这个不好实现吧~
      

  2.   


    你这个貌似是一个方法,我曾经也想过。session-id是保存在cookie中的,服务端的request.session.id其实就是客户端的cookie的seesion-id,你说的"setcookie 值用不会重复的随机数",这个是可以做到的。但是怎样在js轮询的时候,把这个cookie值跨域发送到服务端??这个不好实现吧~
     轮讯的时候实际就是给了服务端一个http请求,其中就已经包括了设置的cookie,在服务端可以直接根据cookie的key获取cookie的值了。
      

  3.   


    你这个貌似是一个方法,我曾经也想过。session-id是保存在cookie中的,服务端的request.session.id其实就是客户端的cookie的seesion-id,你说的"setcookie 值用不会重复的随机数",这个是可以做到的。但是怎样在js轮询的时候,把这个cookie值跨域发送到服务端??这个不好实现吧~
     轮讯的时候实际就是给了服务端一个http请求,其中就已经包括了设置的cookie,在服务端可以直接根据cookie的key获取cookie的值了。恩 ,我在浏览器中看到,同域下轮询的时候,cookies是一直不变的。
    异域时,每次get请求,cookies的value都在改变,怎样能够让cookies的值不变,这个问题不知道怎么解决~
      

  4.   


    你这个貌似是一个方法,我曾经也想过。session-id是保存在cookie中的,服务端的request.session.id其实就是客户端的cookie的seesion-id,你说的"setcookie 值用不会重复的随机数",这个是可以做到的。但是怎样在js轮询的时候,把这个cookie值跨域发送到服务端??这个不好实现吧~
     轮讯的时候实际就是给了服务端一个http请求,其中就已经包括了设置的cookie,在服务端可以直接根据cookie的key获取cookie的值了。恩 ,我在浏览器中看到,同域下轮询的时候,cookies是一直不变的。
    异域时,每次get请求,cookies的value都在改变,怎样能够让cookies的值不变,这个问题不知道怎么解决~访问身份令牌你要增加一个ajax 这个ajax访问获取一个令牌  简单说就是一个 字符串(服务器可以从这个字符串知道你是谁)以后的ajax轮询  每次都提供这个字符串
      

  5.   


    你这个貌似是一个方法,我曾经也想过。session-id是保存在cookie中的,服务端的request.session.id其实就是客户端的cookie的seesion-id,你说的"setcookie 值用不会重复的随机数",这个是可以做到的。但是怎样在js轮询的时候,把这个cookie值跨域发送到服务端??这个不好实现吧~
     轮讯的时候实际就是给了服务端一个http请求,其中就已经包括了设置的cookie,在服务端可以直接根据cookie的key获取cookie的值了。恩 ,我在浏览器中看到,同域下轮询的时候,cookies是一直不变的。
    异域时,每次get请求,cookies的value都在改变,怎样能够让cookies的值不变,这个问题不知道怎么解决~访问身份令牌你要增加一个ajax 这个ajax访问获取一个令牌  简单说就是一个 字符串(服务器可以从这个字符串知道你是谁)以后的ajax轮询  每次都提供这个字符串

    很奇怪,我在同于情况下,ajax的get请求的请求头如下:
    Request URL:http://42.159.152.47/wx/scan/OA?rand=100&username=yiqiuheng&from=OA&objectid=1&t=1411480040192
    Request Headers
    Provisional headers are shown
    Accept:*/*
    Referer:http://42.159.152.47/test
    User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120 Safari/537.36
    X-DevTools-Emulate-Network-Conditions-Client-Id:32E60886-6F0B-47D8-BFF3-E596A5D9D475
    X-Requested-With:XMLHttpRequest但是在异域的情况,ajax的轮询请求头是这个:
    Request URL:http://42.159.152.47/wx/scan/OA?rand=729&username=mlsc&from=OA&objectid=1&t=1411480245969
    Request Headers
    Provisional headers are shown
    Accept:*/*
    Origin:http://localhost:8080
    Referer:http://localhost:8080/Wry_wx/wx.jsp
    User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120 Safari/537.36
    X-DevTools-Emulate-Network-Conditions-Client-Id:AE742D3D-EEE6-48BB-90EC-46521A503DF7明明两种情况下,都是用的ajax做的轮询,但是一个请求的是X-Requested-With:XMLHttpRequest,代表是ajax异步。
    异域情况下没有X-Requested-With:XMLHttpRequest,说明是同步的,不知道是什么引起的这个原因~!
      

  6.   

    有一个解决方案,自己写个简单的session机制~
      

  7.   


    关键问题是服务端是别人封装的nodejs框架,这个要改起来就复杂了~
      

  8.   

    在服务端和客户端设置res.header("Access-Control-Allow-Credentials", true);客户端ajax:
    xhrFields: {
          withCredentials: true
      },
    crossDomain: true