zoukankan      html  css  js  c++  java
  • 构建一个前端库Data对象分析

    AJAX作为RIA实现的一个最重要的技术,不得不拿出来分析一下。

    AJAX整个过程即,发送请求,使用XMLHttpRequest对象动态获取数据。

    服务端授受请求,返回数据,客户端接受数据,操作DOM元素。

    Data对象的封装就是对以上过程进行简化。

     一个完整的Data对象封装如上。针对AJAX实现过程,我们要做以下封装内容。

    1.ajax请求地址及基本参数。

    一般来说,一个项目的ajax访问地址是相同的,根据action的不同,请求到不同的数据。

    2.返回的数据的处理

    通过访问之后的回调,将json数据格式的内容解析为多条的object内容,以方便实现mvc操作方式。

                t = eval(o.responseText);
                c.error = _getReturnError(t[0][0][0].value);
    
                //数据转换
                t.splice(0,1);
    
                for (i=0; i<t.length; i++) {
                    data[i] = [];
    
                    for (j =0; j < t[i].length; j++) {
                        data[i][j] = {};
    
                        for (k =0; k < t[i][j].length; k++) {
                            data[i][j][t[i][j][k].id] = t[i][j][k].value;
                        }
                    }
                }

    3.回调

    虽然,本库实现了MVVM模式,将数据回调后的绑定数据工作已经自动完成,但一些特例例如权限控制等操作,还需要数据绑定完成回调时程序员去处理。 .

    n.细节

    由于ajax访问地址有时候会相同,所以会造成缓存的情况,数据并没有实时更新,所以必须清掉缓存,在html页面头上加以下内容,就可以实现不缓存ajax数据。

    <META HTTP-EQUIV="pragma" CONTENT="no-cache"> 
    <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate"> 
    <META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT">

    由于此库将java的许多操作,如果路由配置,权限管理,页面跳转,增删改查的数据库操作,都封装到了Data对象上,所以下一次,会针对Data对象进行深层次解析。

  • 相关阅读:
    手机进水不要慌,四个步骤告诉您正确处理方法!
    2021-08-17:学习项目代码流程
    Docker使用Centos镜像安装Openssh服务
    OpenResty简介、下载流程、简单教学
    go接收者和锁注意事项
    PHPstorm精进
    centos7找回root密码
    功能测试
    删除排序数组中的重复项
    Java多线程
  • 原文地址:https://www.cnblogs.com/bugluo/p/2825349.html
Copyright © 2011-2022 走看看