Flex 与 servlet 通信 【xml】
String userId = request.getParameter("userId");
System.out.println(userId);
response.setCharacterEncoding("UTF-8");
//response.getWriter().println("hello world -- 我爱你。。。");
String xml = "<user>" +
"<username>涛哥</username>" +
"</user>";
response.getWriter().println(xml);
import flash.trace.Trace;
private var loader:URLLoader = new URLLoader();
private function asCallHandler():void{
// URL
var url:String = "http://localhost/app01/getUser";
// 参数
var args:URLVariables = new URLVariables();
args.userId = 1;
// Request请求
var request:URLRequest = new URLRequest(url);
request.data = args;// 绑定参数
//请求加载器
loader.addEventListener(Event.COMPLETE,handleServerResponse);
loader.load(request);//发送请求
}
private function handleServerResponse(e:Event):void{
trace("User data is loaded");
//将返回的数据解析成xml
var resultXML : XML = new XML(loader.data);
var uname : String = resultXML.username[0];
debugText.text = uname;
}
protected function button1_clickHandler(event:MouseEvent):void
{
// 发送请求
asCallHandler();
}
相关文档:
xml:
<?xml version="1.0" encoding="utf-8" ?>
<library>
<name>首都图书馆</name>
<address>朝阳区华威桥南</address>
<books>
<book>
<id>0000</id>
</book>
< ......
参考博文《IE下利用jQuery分析XML》地址:http://www.newmediafun.com/2009/07/parsing-xml-with-jquery-in-internet-explorer/
本来以为jQuery会很好的解决所有浏览器兼容性问题,但是阵亡的IE6还是会找麻烦!
jQuery使用AJAX时,在IE6下读取回传到XML数据会有问题,具体看下面的例子吧。
准备数据文件test.xml
<Ar ......
XML和HTML常用转义字符
XML和HTML中都有一些特殊的字符,这些字符在XML和HTML中是不能直接使用的,如果必须使用这些字符,应该使用其对应的转义字符。
如果在XML文档中使用类似"<" 的字符, 那么解析器将会出现错误,因为解析器会认为这是一个新元素的开始。
所以不应该像下面那样书写代码:
<message&g ......
<Records>
<Record>
<id>1 </id>
<name>李四 </name>
</Record>
<Record>
<id>2 </id>
<name>张三 </name>
</Record>
<Record>
<id>3 </id>
<name>王五 </name>
</Record& ......
flex 页面跳转
方法一:使用navigateToURL
var url:String = "http://localhost/flex/test.jsp";
var request:URLRequest = new URLRequest(url);
navigateToURL(request,"_self");
方法二:引用flash中的 import flash.external.ExternalInterface 这个接口
他能提供像js中window.location.href方法一样方便
Extern ......