FLEX客户端写cookie
来源:互联网 发布:代理服务器端口是什么 编辑:程序博客网 时间:2024/04/30 09:41
网上找了很多资料,调了又调,试了又试的,终于向客户端写cookie成功了,跟大家分享一下:
其实有两种方法可行:
方法一:是再模板html中添加一段js写cookie的代码,再flex端用ExternalInterface.call来调用,感觉麻烦,没用这种方法:
方法二:直接在flex端向客户端写cookie
关键代码是:
//向客户端写入cookie
private function setMyCookie(name:String,value:String) :void{
ExternalInterface.call("function (name,value) " +
"{ " +
" var Days = 30; "+
" var exp = new Date();"+
" exp.setTime(exp.getTime() + Days*24*60*60*1000); "+
" document.cookie = name+ '='+ escape (value) + ';expires=' + exp.toGMTString();" +
" }",name,value);
}
//向客户端写入cookieprivate function setMyCookie(name:String,value:String) :void{ ExternalInterface.call("function (name,value) " + "{ " + " var Days = 30; "+" var exp = new Date();"+" exp.setTime(exp.getTime() + Days*24*60*60*1000); "+ " document.cookie = name+ '='+ escape (value) + ';expires=' + exp.toGMTString();" +" }",name,value);}
完整的用户登录代码,当用户登录成功时,调用向客户端写cookie的代码
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/halo" xmlns:code="http://code.google.com/p/flexlib/">
<s:states>
<s:State name="maxState"/>
<s:State name="minState"/>
</s:states>
<s:layout>
<s:BasicLayout/>
</s:layout>
<fx:Script>
<![CDATA[
import mx.controls.Alert;
import net.shopin.service.*;
import net.shopin.vo.SysUserVO;
import net.util.ShareScript;
private var sysUser:SysUserVO = null;
//公共变量
private var shareFunc:ShareScript = new ShareScript();
//监听用户的键盘回车事件
private function keyHandler(event: KeyboardEvent): void {
if (event.keyCode == 13) {
login();
}
}
//退出系统
private function logOut():void
{
logs.visible = true;
shareFunc.clearShare();
resetHandle();
}
//用户登录
private function login():void {
if (username.text=="" || password.text=="") {
Alert.show("用户名和密码不能为空");
}else{
var service:ReportService = new ReportService(resultLogin);
service.login(username.text);
}
}
//登录回调信息
private function resultLogin(data:Object):void {
sysUser = data as SysUserVO;
if (sysUser.loginName != null && sysUser.userPassword == password.text) {
logs.visible = false;
if (rec.selected) {
shareFunc.writeShare(username.text, password.text);
}
setMyCookie(sysUser.loginName,sysUser.userPassword);
} else {
password.text = "";
Alert.show("用户名或密码有误,请重新输入!");
}
}
//重置
private function resetHandle():void
{
username.text = "";
password.text = "";
}
//向客户端写入cookie信息
private function setMyCookie(name:String,value:String) :void{
ExternalInterface.call("function (name,value) " +
"{ " +
" var Days = 30; "+
" var exp = new Date();"+
" exp.setTime(exp.getTime() + Days*24*60*60*1000); "+
" document.cookie = name+ '='+ escape (value) + ';expires=' + exp.toGMTString();" +
" }",name,value);
}
]]>
</fx:Script>
<mx:Panel x="414.5" y="274" width="387" height="305" layout="absolute" title="管理员登录" fontFamily="Georgia"
fontSize="14" id="logs" visible="true" width.maxState="353" height.maxState="268" x.maxState="411.5" y.maxState="274" title.maxState="管理员登录">
<mx:Label x="41.5" y="33" text="用户名" fontWeight="bold"/>
<mx:Label x="51.5" y="81" text="密码" fontWeight="bold"/>
<mx:TextInput x="94.5" y="33" id="username" width="174.5" />
<mx:TextInput x="94.5" y="79" id="password" displayAsPassword="true" width="174.5" />
<mx:Button x="96.5" y="211" label="登录" id="btnLogin" click="login();" x.maxState="97.5" y.maxState="175"/>
<mx:Button x="198.5" y="211" label="重置" id="btnReset" click="resetHandle()" x.maxState="199.5" y.maxState="175"/>
<mx:CheckBox id="rec" x="96.5" y="166" label="记住用户名密码" height="37" x.maxState="97.5" y.maxState="126"/>
</mx:Panel>
</s:Application>
- FLEX客户端写cookie
- Flex 写Cookie(类似Cookie)
- Flex 写Cookie(类似Cookie)
- Java applet 写客户端 cookie
- java写cookie到客户端
- flex 中 使用 JavaScript 写 Cookie
- Servlet向客户端写Cookie信息
- 在Servlet中向客户端写Cookie信息
- flex 中使用Cookie
- Flex使用cookie
- Flex使用cookie
- flex使用cookie
- FLEX实现Cookie功能
- Flex使用cookie
- Flex操作cookie
- Flex使用cookie
- Flex Cookie sharedObject
- flex 存cookie ,session
- 为Flex Builder 安装两个实用的插件
- 呆呆地
- 目前最好的网站管理系统应具备哪些功能
- RFC1867文件上传格式编码
- C语言编译器的错误信息
- FLEX客户端写cookie
- HTML Frame框架里嵌套flex
- 三言二拍:Google退出中国
- SQLite支持的数据类型(日期函数)
- 我对编程的一些感悟
- UNIX 40 岁了
- 帮助你从MySQL移植到SQL Server的工具(SSMA)
- 一个XML读写类
- C# 参考之方法参数关键字:params、ref及out