0

我正在构建一个简单的 AIR 应用程序,它允许用户以http://site.com/test?query=xxx的形式查询后端服务器(我没有创建),用户添加 xxx 部分并按下 go。结果是一些带有结果的小 HTML 代码。如果我输入http://site.com/test?query=google.com ,生成的网页将如下所示:

google.com:搜索

我想出的是如何简单地将 URL 加载到 webview 中,但我更愿意将非 HTML 内容(在上面的示例中:google.com:search)放入我可以控制格式的文本字段中。

更新 - 我能够让它与下面的工作

 var url:String = "http://site.com/test?query=xxx";
 var loadit:URLLoader = new URLLoader();     
 loadit.addEventListener(Event.COMPLETE, completeHandler);
 loadit.load(new URLRequest(url));    
 function completeHandler(event:Event):void {    
    myText_txt.htmlText = event.target.data as String;
 }
4

2 回答 2

0
var url:String = "http://site.com/test?query=xxx";
var loadit:URLLoader = new URLLoader();     
loadit.addEventListener(Event.COMPLETE, completeHandler);
loadit.load(new URLRequest(url));    
function completeHandler(event:Event):void {    
   myText_txt.htmlText = event.target.data as String;
}
于 2013-09-27T13:39:14.553 回答
0

由于您希望避免使用 webview,我相信最好的方法是使用 aHTTPService发送您的 uri 并使用一个XML对象来解析和遍历结果

private var http:HTTPService = new HTTPService();//class handling the connection
private var data:URLVariables = new URLVariables();//where you will place your data to pass

private function sendData(input:String):void{

http.url = "http://www.site.com";
http.method = "POST";
http.addEventListener(ResultEvent.RESULT,onResult)
http.addEventListener(FaultEvent.FAULT,onFailure)

data.query = input;

http.send(data);
}
private function onResult(event:ResultEvent):void{
var result:XML = new XML(event.result.toString());
for each (var entry:XMLList in result){//parse it somehow}
}
private function onFailure(event:FaultEvent):void{//error conditions}

但是,根据结果,您可能会遇到错误,因为我认为 HTTPService 不适用于网页

编辑:在 ResultEvent 上使用 event.message.body 可能会更好,因为它总是返回绝对字符串而不是解析版本。

于 2013-09-27T08:49:40.473 回答