flex与ajax交互

      Flex与Ajax都是开发AIR非常好的技术,它们各有优缺点。Flex更简单,效果更加酷!但是在功能开发等方面不及Ajax成熟。最理想的就是全部用Flex来开发实现,但这只是一种理想状态,很多时候我们还是要用到Ajax。我们经常需要将嵌入到 Ajax 应用程序中的基于 Flash 的资源集成在一起。

     FABridge(Adobe Flex Ajax Bridge)是由 Adobe 开发的代码库,用于Flex与Ajax之间的交互,意味着连接Flex与Ajax的桥梁。本文将介绍如何使用 FABridge 将 Flash 内容与现有 Ajax 内容集成在一起。

      1、FABridge库文件
             FABridge库包含两个文件: FABridge.as和FABridge.js。
            一般情况,如果用户安装了Flex Builder,则在安装路径下的sdks3.1.0frameworksjavascriptfabridgesrcbridge路径下,如C:Program FilesAdobeFlex Builder 3sdks3.1.0frameworksjavascriptfabridgesrcbridge,如下图所示:

            如果用户没有这两个文件,可以参考附录,将代码复制到文本中,然后保存为FABridge.as文件和FABridge.js文件。
     2、新建一个Flex项目,项目名称为FlexAjax,如下图所示:

    3、新建一个文件夹,其名称为bridge,并把文件FABridge.as复制到该文件夹中,如下图所示:

    4、新建一个文本,其内容如下:    

<html>
<head>
<title>Flex与Ajax交互</title>
<script type="text/javascript" src="bridge/FABridge.js"></script>
<script type="text/javascript">
   // ...
</script>
</head>
<body>
</body>
</html>
     把该文本文件名称及后缀改为index.html,并保存至项目的bin-debug文件夹内。同时将FABridge.js文件保存至bin-debugbridge文件夹内,如下图所示:
    5、在FlexAjax.mxml文件的名称空间内引用前面复制的FABridge.as文件,代码如下:

   

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
    xmlns:bridge="bridge.*" layout="absolute">
    <bridge:FABridge bridgeName="flex" />
   <mx:TextInput id="txt_test" fontSize="12" x="10" y="10" text="Flex与Ajax交互例子!"/>
</mx:Application>
     编译FlexAjax.mxml文件,它将在项目的bin-debug文件夹内生成一个FlexAjax.swf文件。同时可以通过修改index.html文件来添加swf到网页中去,

      如在<body>和</body>之间添加如下代码: <embed src="FlexAjax.swf"/>

6、获得 Flex 应用程序的引用。在index.html文件中编辑,在<script type="text/javascript">后添加如下:
    // 定义Flex程序对象
    var flexApp;   
    var flexApp = FABridge.flex.root();//通过FABridge指向Flex应用程序
7、连接到Flex文件。前面虽说已经建立了Flex程序对象,但是没有获取到具体的事例(即Flash文件),所以还不能对Flash进行操作。连接flexApp到Flash主要通过下面代码实现:

    

<script>
        document.write("<object id=\'flexApp\' classid=\'clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\' height=\'350\' width=\'400\'>");
        document.write("<param name=\'src\' value=\'FlexAjax.swf\'/>");
        document.write("</object>");
</script>
其中height和width分别为Flash的高度和宽度,id为前面JS中定义的Flash对象变量,value为连接到的Flash文件。
8、使用 ActionScript 对象
      现在获得了 Flex 应用程序的全局引用,就可以使用 ActionScript 对象了。但是在JS中无法显示AS对象的方法与属性,于是AS提供了一种使用get关键字的方法,

       现在举一个例子说明:在Flex的mxml文件中,假如定义了一个TextInput文本输入控件,它的id为txt_test,在JS中要获得这个文本输入控件,只需要通过flexApp.getTxt_test即可获得该对象。若要获得该控件中输入的文字,在Flex中TextInput文本输入控件中输入的文字在它的text属性里面,所以在JS中只要通过getText即可获得文本输入控件中输入的文字,即flexApp.getTxt_test().getText()。值得注意的是:无论在MXML中对象的id、属性或方法的首写字母大写还是小写,在JS中使用关键字get和set后必须为大写

<html>
<head>
<title>Flex与Ajax交互</title>
<script type="text/javascript" src="bridge/FABridge.js"></script>
<script type="text/javascript">
    // 定义Flex程序对象
    var flexApp; 

    function ClickButton()
    {
        var flexApp = FABridge.flex.root();
        var txt = flexApp.getTxt_test();
        alert( "输入的文字为: "+txt.getText());
    }
</script>
</head>
<body>
<input type="button" value="点击" οnclick="ClickButton()" />
<div>
<script> 


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很好,这是一个需要实现登录和注册的页面,并且采用AJAX进行交互,服务器端采用API接口的HTML+CSS代码案例。 首先,我们需要引入jQuery库,因为我们将使用jQuery来进行AJAX交互。在HTML的head标签中添加以下代码: ```html <head> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script> </head> ``` 然后,我们需要创建登录和注册页面的HTML结构。下面是一个简单的示例: ```html <body> <div class="container"> <div id="login" class="form"> <h2>Login</h2> <div class="form-group"> <label for="username">Username</label> <input type="text" class="form-control" id="username" name="username" required> </div> <div class="form-group"> <label for="password">Password</label> <input type="password" class="form-control" id="password" name="password" required> </div> <button type="submit" class="btn btn-primary" id="login-btn">Login</button> </div> <div id="register" class="form"> <h2>Register</h2> <div class="form-group"> <label for="username">Username</label> <input type="text" class="form-control" id="username" name="username" required> </div> <div class="form-group"> <label for="email">Email</label> <input type="email" class="form-control" id="email" name="email" required> </div> <div class="form-group"> <label for="password">Password</label> <input type="password" class="form-control" id="password" name="password" required> </div> <button type="submit" class="btn btn-primary" id="register-btn">Register</button> </div> </div> </body> ``` 上面的代码创建了两个表单,一个是登录表单,一个是注册表单。每个表单都有一个唯一的ID和一些输入字段。 接下来,我们需要编写一些JavaScript代码来处理表单提交和AJAX请求。下面是一个示例: ```javascript $(document).ready(function() { // 登录表单提交事件 $('#login-btn').click(function() { var username = $('#login #username').val(); var password = $('#login #password').val(); $.ajax({ url: 'http://api.example.com/login', method: 'POST', data: { username: username, password: password }, success: function(response) { // 登录成功,跳转到其他页面 window.location.href = 'http://example.com/dashboard'; }, error: function(xhr) { // 登录失败,显示错误信息 alert(xhr.responseJSON.message); } }); }); // 注册表单提交事件 $('#register-btn').click(function() { var username = $('#register #username').val(); var email = $('#register #email').val(); var password = $('#register #password').val(); $.ajax({ url: 'http://api.example.com/register', method: 'POST', data: { username: username, email: email, password: password }, success: function(response) { // 注册成功,跳转到登录页面 window.location.href = 'http://example.com/login'; }, error: function(xhr) { // 注册失败,显示错误信息 alert(xhr.responseJSON.message); } }); }); }); ``` 上面的代码为登录和注册按钮添加了点击事件。当用户点击按钮时,它将从表单中获取输入值,并将其作为数据发送到服务器端的API接口。如果请求成功,它将执行一个成功的回调函数。如果请求失败,它将执行一个错误的回调函数,并显示一个错误消息。 最后,我们需要为这些表单添加样式。下面是一个简单的示例: ```css .container { display: flex; justify-content: center; align-items: center; height: 100vh; } .form { width: 300px; background-color: #fff; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); padding: 20px; margin: 10px; border-radius: 5px; } .form h2 { text-align: center; margin-bottom: 20px; } .form-group { margin-bottom: 20px; } .form-group label { display: block; margin-bottom: 5px; } .form-control { width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 5px; } ``` 上面的代码为表单添加了一些基本的样式,使其看起来更具吸引力。 这就是一个基本的登录和注册页面的HTML+CSS+JavaScript代码示例,它采用了AJAX进行交互,服务器端使用API接口。这个示例可以作为一个起点来开发更复杂的应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值