一种模仿AJAX测试数据的方法

来源:互联网 发布:淘宝安装服务平台 编辑:程序博客网 时间:2024/05/19 12:24

在前端编程中,经常需要编写AJAX模拟数据,但应用到生产环境后,又需要修改代码,导致大量的代码都处于调整状态,并且数据都处于静态化状态,以至于视图渲染的效果很差。

能不能将模拟数据与业务逻辑完全隔离呢?如果编写一个浏览器插件,利用DOM进行通信,由插件负责创造模拟数据,而页面的HTTP通信方法负责抓取数据,同时加入是否启用模拟数据通信开关,即可完全满足上述条件,即模拟数据动态化,并且与业务数据完全隔离。

核心代码如下:

//  数据由插件返回var obj = [{username : 'yiifaa', age : 32}],    virtualUrl = true,//    是否采用模拟通信    url = 'abc.json', //    通信地址    el = document.getElementById('abc.json');//  经数据存入dom元素$(el).val(JSON.stringify(obj));//  页面引用的Http工具函数,这是通信的关键var Http = {    ajax : function(url) {        var defered = new $.Deferred();        //  判断是否启用了模拟状态        if(virtualUrl) {            //  读取DOM元素状态            //  改用HTML5的Observer接口            setTimeout(function() {                var value = JSON.parse($(el).val());                defered.resolve(value)            }, 10)        } else {            //  直接返回$.ajax Deferred对象            return $.ajax(url);        }        return defered.promise();    }}

调用方式如下:

//  完全兼容$.ajax调用方式Http.ajax('abc.json')    .done(function(data) {          // 输出yiifaa          alert(data[0].username);    })

针对Chrome的浏览器插件”STI AJAX MOCKER”,正在紧急开发中,敬请期待。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 助理消防工程师报考条件 一级消防工程师真题 注册消防工程师好考吗 一级消防好考吗 二级注册消防工程师报名时间 注册消防工程师前景 消防工程师考试题型 助理消防工程师 一级消防工程师论坛 注册消防工程师考试难度 一级消防工程师考试题型 注册二级消防工程师 注册消防工程师论坛 一级注册消防工程师教材 注册消防工程师报名 二级消防工程师考试科目 消防工程师报考条件二级 二级注册消防工程师报考条件 一级注册消防工程师论坛 二级消防工程师好考吗 一级注册消防工程师招聘 注册消防工程师难考吗 考一级消防工程师有用吗 消防工程师难度 一消防工程师 一级消防工程师考试难度 一级消防工程师好考吗 消防工程师待遇 注册消防工程师一级二级区别 一级注册消防工程师好考吗 注册消防工程师好不好考 一级消防工程师难度 二级注册消防工程师考试科目 二级消防考试时间 一级消防工程师招聘 陕西二级消防工程师报名时间 2017消防工程师考试时间 消防工程师代报名 消防技术综合能力 一级注册消防工程师报考条件 河北二级消防工程师报名时间