Flex项目中遇到的几个问题

[b]1.flex调用远程Java服务报错:Security error accessing url[/b]
解决方案:跨域的问题
增加一个crossdomain.xml

<?xml version="1.0"?>
<cross-domain-policy>
<!-- domain="*" everyone access -->
<allow-access-from domain="*" />
<allow-http-request-headers-from domain="*" headers="*"/>
</cross-domain-policy>

放到tomcat\webapps\ROOT下
[b]2.flex string类型转到数值型[/b]
1 使用parseInt() 函数从一个string到integer
2 使用parseFloat() 函数从一个string到Number
3 使用Number构造器
[b]3.httpservice重复调用同一个连接,缓冲的问题[/b]
在httpservice的参数里加上一个随机生成的参数,服务器端不进行处理,纯粹就是为了欺骗浏览器让它以为不是同一个url。
[b]4.flex随机函数[/b]
Math.Random()返回一个随机数n, 0 <= n < 1
[b]5.flex进行编码,java进行解码[/b]

var s = httpEncoding("老天自有安排");
//进行文字编码
private function httpEncoding(param:String):String
{
return encodeURIComponent(param);
}

java接收结果是:%C0%CF%CC%EC%D7%D4%D3%D0%B0%B2%C5 %C5

parameter = java.net.URLDecoder.decode(parameter , "UTF-8");

由于FLEX对中文的支持不是很友好,所以在前台 向 后台 传递数据的时候采取的是 UTF-8 的编码
所以当遇到中文的时候 请使用
encodeURI(uri:String):String
encodeURIComponent(uri:String):String
escape(str:String):String
这三个方法中任意一个
然后在 JAVA 里面 使用
URLDecoder.decode(String s,String enc) 1.表示要解码的字符串 2.表示解码成什么格式
用HTTPService或URLRequest与JAVA后台通信的时候可能会遇到乱码问题,因为
Flex默认编码是UTF-8,而服务器端可能使用的是GB2312编码,解决这个问题未必
要在Flex上下功夫,可以在服务器端使用
    
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");

上面的是设置服务器当前页面以utf-8接收信息,下面的是用utf-8格式发送信息。
其他语言的服务器也是这个道理。
6.
var o: Object = {para1:"Hello",para2:"This is a Para"};
httpService.send(o);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值