zoukankan      html  css  js  c++  java
  • [Flex] flex与校内接口(iframe方式)

    flex与校内交互一直是开发时最大的一道坎儿,一帮人足足倒腾了半个月终于交互成功了,不发篇帖子记录一下我对得起谁?

    篇幅原因,这里只讲flex与校内的交互,其他的常用工具网上相对来说帖子比较多,就不说了

    校内在任何人进入这个应用界面后,都会url追加参数的方式向应用传递用户的初始信息,包括session_key,api_key等等。

    如果是asp,很好办,直接用Request.QueryString()就可以得到这些参数的值。但是flex的httpservice,webservice只能发送后再接受,怎么做到单方面接受这些值呢?

    flex是可以单方面接受这些数据的,但是需要在开发校内是吧你开发的应用属性中的Callback URL改为你开发后生成的swf

    然后flex的接受代码为

    xn_sig_in_iframe=this.parameters.xn_sig_in_iframe;

    xn_sig_time=this.parameters.xn_sig_time;

    xn_sig_added=this.parameters.xn_sig_added;

    xn_sig_user=this.parameters.xn_sig_user;

    xn_sig_session_key=this.parameters.xn_sig_session_key;

    xn_sig_expires=this.parameters.xn_sig_expires;

    xn_sig_api_key=this.parameters.xn_sig_api_key;

    就会发现本地定义的这些变量都已经被赋上值了。

    校内上虽然是以url追加的方式传递参数,不过这些并不在地址栏里显示出来,就是地址栏里是看不到的“?……=……&”这类东西的,但是大家查看一下当前网页的源码,就可以发现在那个载入flash部分的代码中swf文件的路径后面被追加了很多字符,就是校内传来的参数。

    之后很简单了,按照校内开发文档的要求,用httpservice方法(webserivice应该也可以,不过我没试过)向指定的网址post相应的参数,校内就会已XML的形式返回你要的信息,具体可以参照开发文档。http://dev.xiaonei.com/wiki/API

    还有,在获取用于基本信息,也就是用method=xiaonei.users.getInfo方法的时候,按照文档发送好像是不可以的,尝试了一阵子后,发现代码为

    <mx:HTTPService id="getInfo" url="http://api.xiaonei.com/restserver.do" result="getInfoResult()" method="POST" showBusyCursor="true">
     <mx:request>
      <method>{this.method}</method>
      <api_key>{this.xn_sig_api_key}</api_key>
      <v>{this.v}</v>
      <session_key>{this.xn_sig_session_key}</session_key>
      <uids>{this.xn_sig_user}</uids>
      <format>{this.format}</format>
     </mx:request>
    </mx:HTTPService>

    各个参数取值参见开发文档和之前获得的参数。

  • 相关阅读:
    83. Remove Duplicates from Sorted List
    35. Search Insert Position
    96. Unique Binary Search Trees
    94. Binary Tree Inorder Traversal
    117. Populating Next Right Pointers in Each Node II
    116. Populating Next Right Pointers in Each Node
    111. Minimum Depth of Binary Tree
    169. Majority Element
    171. Excel Sheet Column Number
    190. Reverse Bits
  • 原文地址:https://www.cnblogs.com/felixfang/p/1423435.html
Copyright © 2011-2022 走看看