jquery-mockjax初试

1. 原理

jquery-mockjax是用于mock 前台ajax向后台请求的返回数据。

原理很简单

在你js代码要发送ajax请求的地方断点一下,然后比较在【引入jquery-mockjax】 和 【没有引入jquery-mockjax】的情况下$.ajax.toString()的值情况。

很明显,引入jquery-mockjax时,这个mock库会对jquery提供的ajax函数做替换。这样就很容易能mock起来。

2. 提供的基本特性

1. 根据指定的url模拟基本本的json数据

$.mockjax({
  url: ‘/restful/fortune‘,
  responseTime: 750,
  responseText: {
    status: ‘success‘,
    fortune: ‘Are you a turtle?‘
  }
});

url上可以做很多文章,支持:

url: ‘*‘

url: ‘/data/*‘

url: /^/data/(quote|tweet)$/i

2. 可以是返回text,xml

只要给其responseText responseXML设置相应的值即可

xml的例子:

$.mockjax({
  url: ‘/restful/api‘,
  // Need to include the xmlDOM plugin to have this translated into a DOM
  responseXML: ‘<document><quote>Hello world!</quote></document>‘
});

3. 可以用proxy指向一个json文件,将json文件中的内容当做json数据mock回去

$.mockjax({
  url: ‘/restful/api‘,
  proxy: ‘/mocks/data.json‘
});

4.response属性可以指向function 以达到mock数据可编程的目的(动态指定)

$.mockjax({
  url: ‘/restful/api‘,
  response: function() {
    this.responseText = ‘Hello world!‘;
  }
});

5.通过responseTime设置的值mock超时时间

$.mockjax({
  url: ‘/restful/api‘,
  // Simulate a network latency of 750ms
  responseTime: 750,
  responseText: ‘A text response from the server‘
});

6.通过status 设置的值mock http状态

$.mockjax({
  url: ‘/restful/api‘,
  // Server 500 error occurred
  status: 500,
  responseTime: 750,
  responseText: ‘A text response from the server‘
});

7. 通过contentType设置的值mock contentType类型

$.mockjax({
  url: ‘/restful/api‘,
  contentType: ‘text/json‘,
  responseText: {
    hello: ‘World!‘
  }
});

8.给headers设置一个json对象,mock header信息

$.mockjax({
  url: ‘/restful/api‘,
  contentType: ‘text/json‘,
  responseText: {
    hello: ‘World!‘
  },
  headers: {
    etag: ‘xyz123‘
  }
});

ref: http://appendto.com/2010/07/mock-your-ajax-requests-with-mockjax-for-rapid-development/

时间: 2024-10-12 18:42:47

jquery-mockjax初试的相关文章

jQuery Mockjax插件使用心得

最近指导前端攻城狮在后台代码没有完成前测试自己写的后台代码,第一个版本是让他直接创建一个data.json静态数据,然后再ajax调用,缺点非常明显,首先需要localhost的支持,其次是能测的功能太单一,如果遥测是不同的url,或不同的参数是就力不从心了. 后来在网上找寻能够模拟客户端请求服务器的工具时意外发现了mockjax这个工具,瞬间被征服了,只要在引入一个预定好的要拦截的url和要返回的数据,就可以轻松实现不同url,同url不同数据的拦截.处理.返回.从此之后前端轻松的撇开后端的束

django + jQuery AJAX初试

经过反复的测试,终于在django+jQuery AJAX成功返回服务器数据,本次测试在/static/test/test.txt test.txt: txt = {'1':'re','2':'qqq','3':'www','4':'rere'} views: def test(request): return render(request,'app/accounts/test.html') urls: urlpatterns = [ url(r'^test/$',views.test), ]

jquery.autocomplete 模糊查询 支持分组

//demo <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <link rel="stylesheet" type="text/css" href="css/styles.css"/> <script src="js/jquery-1.11.3.js" type="text/

工具集

好用的工具集 转:http://www.yimingzhi.com/2015/03/lao-yi-de-kai-fa-gong-ju-he-lei-ku-ji-2014-ban Visual Studio 2013 扩展 Visual Studio 2013 Update 4:是目前微软发布的最新版开发工具升级包,高效而且强大.下面的扩展都是该版本的Visual Studio下的,老版本可以根据名字自行查找安装. CodeMaid: 可快速整理代码文件,清理不必要的代码和杂乱的格式.并在开发时实

JS实现-页面数据无限加载

在手机端浏览网页时,经常使用一个功能,当我们浏览京东或者淘宝时,页面滑动到底部,我们看到数据自动加载到列表.之前并不知道这些功能是怎么实现的,于是自己在PC浏览器上模拟实现这样的功能.先看看浏览效果: 当滚动条滚动到页面底部时,提示“正在加载…”. 当页面已经加载了所有数据后,滚动到页面底部会提示“数据已加载到底了”: 实现数据无限加载的过程大致如下: 1.滚动条滚动到页面底部. 2.触发ajax加载,把请求返回的数据加载到列表后面. 如何判断滚动条是否滚动到页面底部?我们可以设置一个规则:当滚

[转] 前后端分离开发模式的 mock 平台预研

引入 mock(模拟): 是在项目测试中,对项目外部或不容易获取的对象/接口,用一个虚拟的对象/接口来模拟,以便测试. 背景 前后端分离 前后端仅仅通过异步接口(AJAX/JSONP)来编程 前后端都各自有自己的开发流程,构建工具,测试集合 关注点分离,前后端变得相对独立并松耦合 开发流程 后台编写和维护接口文档,在 API 变化时更新接口文档 后台根据接口文档进行接口开发 前端根据接口文档进行开发 开发完成后联调和提交测试 面临问题 没有统一的文档编写规范,导致文档越来越乱,无法维护和阅读 开

C# 常用工具合集

Visual Studio 2013 扩展 Visual Studio 2013 Update 4:是目前微软发布的最新版开发工具升级包,高效而且强大.下面的扩展都是该版本的Visual Studio下的,老版本可以根据名字自行查找安装. CodeMaid: 可快速整理代码文件,清理不必要的代码和杂乱的格式.并在开发时实时提供代码复杂度的报告,以便帮助开发人员降低代码复杂度.提高代码质量. CssCop:可以帮助开发者检查和编写优秀的css代码,提高css对浏览器的兼容性.编码质量和渲染性能.

Mock, 让你的开发脱离接口

在前后台共同进行一个项目的时候常会遇到一种情景, 后台定义好接口,前端按照接口进行开发, 当前端开发完成后台接口却还没有开发完成, 这个时候要进行接口测试, 只能等后台开发完成才能测试, 在这中间浪费了很多时间,  现在有个利器可以解决这个问题, 即使不用后台,只要提前制定好接口的报文,那么前端就可以自己模拟接口来进行接口测试了, 今天要讲的东西就是mockjax和mockJSON mockjax和mockJSON是两套不同的Javascript Library, 它们都是基于JQuery来开发

专业上的常用的工具和类库集 By 老衣

Visual Studio 2013 扩展 CodeMaid: 可快速整理代码文件,清理不必要的代码和杂乱的格式.并在开发时实时提供代码复杂度的报告,以便帮助开发人员降低代码复杂度.提高代码质量. CssCop:可以帮助开发者检查和编写优秀的css代码,提高css对浏览器的兼容性.编码质量和渲染性能. NuGet Package Manager for Visual Studio 2013: 一组用于自动执行从VS项目中安装.升级.配置和删除依赖包的过程的工具.本文档中的前后端技术选型中的绝大部

老衣的开发工具和类库集之2014版

转载自:http://www.yimingzhi.com/2015/03/lao-yi-de-kai-fa-gong-ju-he-lei-ku-ji-2014-ban 今天是2015年的元宵节了,14年承诺朋友们公开自己常用的工具和类库集,一直没能及时兑现.今天忙里偷个闲,整理了一下清单,在此公布出来,希望能够对大家在.NET.App.Web等开发方面有所帮助.也当是给.NET开发者一个元宵礼物吧,哈哈.不废话直接上菜啦~ [注:最下方有补充更新] Visual Studio 2013 扩展Vi