• HttpService远程校验


    今天学了下HttpService,和大家分享一下。HttpService是用来读取远程数据的一个对象,数据格式为XML。

    我做了一个登陆校验的功能,主要是通过HttpService将服务器端的用户数据得到,然后在客户端判断输入的用户名和密码是否存在。

    主要步骤如下:

    1. 声明HttpService对象
    2. 调用HttpService对象的send()方法
    3. 使用ResultEvent.result方法得到返回数据 或者 使用HttpService.lastResult方法得到返回数据

    程序代码:

     1 <?xml version="1.0" encoding="utf-8"?>
     2 <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
     3                xmlns:s="library://ns.adobe.com/flex/spark" 
     4                xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"
     5                creationComplete="userpassService.send()">
     6     <fx:Declarations>
     7         <!-- 将非可视元素(例如服务、值对象)放在此处 -->
     8         <s:HTTPService id="userpassService" url="http://localhost:8080/xmltest/users.xml" result="handlerUserPassSend(event)"
     9                        resultFormat="e4x">
    10         </s:HTTPService>
    11     </fx:Declarations>
    12     
    13     <fx:Script>
    14         <![CDATA[
    15             import mx.controls.Alert;
    16             import mx.rpc.events.ResultEvent;
    17             
    18             /**通过HttpService得到远程数据*/
    19             private var usersArr:XMLList;
    20             private function handlerUserPassSend(event:ResultEvent):void
    21             {
    22                 //接收返回的数据
    23                 var returnObj:Object = event.result;
    24                 usersArr = returnObj.users.user;
    25             }
    26             
    27             private function handlesendButtonClick(event:Event):void
    28             {
    29                 if(judgeText())
    30                 {
    31                     for(var i:int = 0; i < usersArr.length; i++)
    32                     {
    33                         var usernameIn:String = usersArr[i].username;
    34                         var passwordIn:String = usersArr[i].password;
    35                         if(usernameIn == username && passwordIn == password)
    36                         {
    37                             Alert.show("用户登陆成功");
    38                             return;
    39                         }
    40                     }
    41                     
    42                     Alert.show("用户不存在");
    43                     return;
    44                 }
    45             }
    46             
    47             /**判断输入是否合法*/
    48             private var username:String;
    49             private var password:String;
    50             private function judgeText():Boolean
    51             {
    52                 if(usernameText.text == "" || usernameText.text == null)
    53                 {
    54                     Alert.show("用户名不能为空");
    55                     return false;
    56                 }
    57                 else if(passwordText.text == "" || passwordText.text == null)
    58                 {
    59                     Alert.show("密码不能为空");
    60                     return false;
    61                 }
    62                 
    63                 username = usernameText.text;
    64                 password = passwordText.text;
    65                 
    66                 return true;
    67             }
    68         ]]>
    69     </fx:Script>
    70     
    71     
    72     <s:Panel width="40%" height="40%" horizontalCenter="0" verticalCenter="0">
    73         <s:Form width="80%" height="80%">
    74             <s:FormItem label="username: " fontSize="20">
    75                 <s:TextInput id="usernameText"/>
    76             </s:FormItem>
    77             <s:FormItem label="password: " fontSize="20">
    78                 <s:TextInput id="passwordText"/>
    79             </s:FormItem>
    80             <s:FormItem>
    81                 <s:Button id="sendButton" label="login" click="handlesendButtonClick(event)"/>
    82             </s:FormItem>
    83         </s:Form>
    84     </s:Panel>
    85 </s:Application>

     第7~10行声明了一个HttpService对象,其中url属性指定的是要请求的资源路径,这里是本地tomcat服务器的xmltest/users.xml, result属性是请求资源返回后触发的方法, resultFormat属性是将返回的数据类型转换的格式,这里使用e4x格式是指将数据按XML格式读取,而不是封装成对象。

    远程数据:(http://localhost:8080/xmltest/users.xml)

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <users>
     3     <user>
     4         <username>yuan</username>
     5         <password>123</password>
     6     </user>
     7     <user>
     8         <username>quan</username>
     9         <password>589</password>
    10     </user>
    11 </users>

    程序运行结果:

    一颗平常心,踏踏实实,平静对待一切
  • 相关阅读:
    (转)Epoll模型详解
    (转)彻底学会使用epoll(一)——ET模式实现分析
    (转)Linux内核 TCP/IP、Socket参数调优
    Nodejs RESTFul架构实践之api篇(转)
    创业笔记-Node.js入门之阻塞与非阻塞
    创业笔记-Node.js入门之基于事件驱动的回调
    创业笔记-Node.js入门之一个完整的基于Node.js的web应用
    创业笔记-Node.js入门之JavaScript与Node.js
    在CentOS6.5下配置安装LVS
    zend studio 添加xdebug调试php代码
  • 原文地址:https://www.cnblogs.com/hanyuan/p/2850146.html
Copyright © 2020-2023  润新知