日期:2014-05-16  浏览次数:21161 次

用session传递对象的一个问题。
1.asp 代码:

<%@LANGUAGE="JAVASCRIPT" CODEPAGE="936"%>
<%
  var so={age:12,name:'yang',say:function()
      {
        Response.Write('hello!')
       }
      }
//  Response.Write(so.age)
//  Response.Write(so.name)
 
   Session('t')=so
   Session('t').say() 
// -------------------以上都没有问题
  Response.Redirect("2.asp")  //然后加一句转到2.asp
%>
------------------------------------------------
2.asp 代码
<%@LANGUAGE="JAVASCRIPT" CODEPAGE="936"%>
<%
  var tt=Session('t')
 Response.Write(tt.age)  // 没有问题,
  Session('t').say()  //出错:不能执行已释放 Script 的代码
  %>
也就是说,在asp中session只能传递对象的属性,而不能传递对象方法
------解决方案--------------------
客户端的js序列化json对象也序列化不了function,应该是不行