Flex中解析地址栏传递的参数

由于flex默认包装的页面是html页面,所以与jsp不同的是参数是传递在“#”后面,而jsp是在“?”后面,所以这点得弄清。

--->点击阅读更多    

       要解析参数,首先需要把地址栏链接参数链(即“#”后面的参数对)给获取下来,这个有很多方法,比如调用JavaScript的 ExternalInterface.call()方法,本人用的是flex的静态类BrowserManager获得的,代码如下所示:

 

[javascript] view plain copy print ?
  1. /** 
  2.  * 获取地址栏参数链 
  3.  * */  
  4. public function getAllParams():String{  
  5.     var bm:IBrowserManager=BrowserManager.getInstance();  
  6.     bm.init();  
  7.     return bm.fragment  
  8. }  


      此方法返回的是地址栏参数对。


     下面需要对此参数对进行分割并保存在一个object对象里,代码如下所示:


    

[javascript] view plain copy print ?
  1. /** 
  2.     * 接收并解析浏览器地址栏url的信息 
  3.     * */  
  4.    public  functiongetParams():Object {  
  5.         
  6.        var params:Object= {};  
  7.        var query:String=getAllParams();  
  8.        if(query) {  
  9.           var pairs:Array = query.split("&");  
  10.           for(var i:uint=0; i < pairs.length; i++) {  
  11.               var pos:int = pairs[i].indexOf("=");  
  12.               if(pos != -1) {  
  13.                  var argname:String = pairs[i].substring(0, pos);  
  14.                  var value:String = pairs[i].substring(pos+1);  
  15.                  params[argname] = value;  
  16.               }  
  17.           }  
  18.        }  
  19.        return params;  
  20.    }  

 

      此方法返回的是一个object对象,如果参数链不为空,那么取值很简单,就是:


   

[javascript] view plain copy print ?
  1. Var obj:Object= getParams();  
  2. Var email:String=obj.email;  

      然后再加入自己的业务逻辑就ok了。

--->点击阅读更多    


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值