• [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>

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

  • 相关阅读:
    在linux服务器上搭建nvidia-docker环境
    Mysql入门
    POSTMAN关联
    SQL之内连接与外连接
    JMeter线程组参数含义
    JMeter基本概念
    JMeter聚合报告参数含义
    JMeter录制脚本
    Mysql日期与时间类型及函数
    linux服务器上安装mysql
  • 原文地址:https://www.cnblogs.com/felixfang/p/1423435.html
Copyright © 2020-2023  润新知