本文主要是介绍Flex 4.0解决Session问题的山寨版方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Flex 4.0中好象不支持设置URLRequest请求头,弄了半天,都没有成功,据说之前的版本可以用,晕。
最后没有办法,只好想了一个山寨版的方法,来弥补Flex写的SWF不支持会话的问题。
首先,修改服务器Web容器获取Request对应会话的方法,让该方法同时支持从Cookie标题和Request对象取会话ID的功能,但优先处理来自Cookie的SessionID。
其次,由于document.cookie在FireFox等其他浏览器中支持不是太好,不知道为什么,取的时候总是空的,而且据说这个document.cookie还是取IE的永久Cookie,晕。后来决定不用,而采用程序来取。具体做法有点土:使用Ajax,在页面载入时向服务器请求当前Cookie值(也就是那个SessionID值),然后保存到一个变量中,之后再创建SWF,同时把这个Cookie作为参数传给SWF。
最后,在Flex中把这个Cookie作为请求参数添加到要请求的URL后面,再发送请求就OK了。这里就是要求Cookie字符串不要包含回车之类的特殊字符。
试了一下,兼容性还蛮好的。
这篇关于Flex 4.0解决Session问题的山寨版方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!