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>

程序运行结果:

一颗平常心,踏踏实实,平静对待一切
原文地址:https://www.cnblogs.com/hanyuan/p/2850146.html