首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从外部AS3 (web服务)解析(Flash )

从外部AS3 (web服务)解析(Flash )
EN

Stack Overflow用户
提问于 2012-12-27 15:09:02
回答 2查看 749关注 0票数 0

我的AS3代码:

代码语言:javascript
复制
loginBtn.addEventListener("mouseDown", sendData)
function sendData(e:Event) {
    var path:String = "http://server1.digitalmulia.com/~testing/webservice/auth/login";
    var myData:URLRequest = new URLRequest(path)
    myData.method = URLRequestMethod.POST
    var variables:URLVariables = new URLVariables()
    variables.username = usernameField.text
    variables.password = passwdField.text
    myData.data = variables
    var loader:URLLoader = new URLLoader()
    loader.dataFormat = URLLoaderDataFormat.VARIABLES
    loader.addEventListener(Event.COMPLETE, dataOnLoad)
    loader.load(myData)
}
function dataOnLoad(e:Event){
    var xmldata = XML(e.target.data);
    var xxx = xmldata.toString();
    var myFormat:TextFormat = new TextFormat();
    myFormat.font = "Arial";
    myFormat.size = 12;
    myFormat.bold = true;

    var myText:TextField = new TextField();
    myText.defaultTextFormat = myFormat;
    myText.selectable = true;
    myText.border = true;
    myText.text = xxx;
    myText.x = 10;
    myText.y = 200;
    myText.width = 300;
    myText.height = 100;
    addChild(myText);

}
stop()

结果是:

%3C%3Fxml%20version=%221%2E0%22%3F%3E%0A%3Cxml%3E%3Cdatas%2F%3E%3Cinformation%3E%3Cpasswd%3E5f4dcc3b5aa765d61d8327deb882cf99%3C%2Fpasswd%3E%3C%2Finformation%3E%3Cerror%3E%3Citem%3EUsername%20not%20found%20or%20password%20is%20wrong%3C%2Fitem%3E%3C%2Ferror%3E%3C%2Fxml%3E%0A

怎么了?我所需要的结果类似于

代码语言:javascript
复制
<xml>
    <datas/>
    <information>
        <passwd>5f4dcc3b5aa765d61d8327deb882cf99</passwd>
    </information>
    <error>
        <item>Username is null</item>
        <item>Password is null</item>
    </error>
</xml>

我为我糟糕的英语感到抱歉。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-27 17:01:04

您可以尝试使用unescape(xmldata.toString()),然后您将获得所需的输出。

代码语言:javascript
复制
        function dataOnLoad(e:Event)
        {
            var xmldata:XML = XML(e.target.data);
            var xmlStr:String = unescape(xmldata.toString());
            xmldata = XML(xmlStr);          
        }

函数escape("args")将参数转换为字符串,并以URL编码格式对其进行编码。

代码语言:javascript
复制
escape("escape unescape");

输出:escape%20unescape

函数unescape将所有十六进制序列转换为ASCII字符。例如,

代码语言:javascript
复制
unescape("escape%20unescape");

输出:escape unescape

票数 1
EN

Stack Overflow用户

发布于 2012-12-28 17:09:33

我确信这是因为您已经选择了URLLoaderDataFormat.VARIABLES类型,在将其传递给XML构造函数时,请尝试其他值,如URLLoaderDataFormat.TEXT,因为无效数据将抛出错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14050817

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档