使用jquery-mockjax模拟ajax请求做前台测试

一般来说,我们做web开发的时候前后台是分开做的,这样带来的好处是前台的开发人员可以安心的写前台代码而后台的小伙伴就安心研究后台就OK了。

但是这样带来一个问题,当后台的小伙伴被天灾军团带走了,那前台需要依赖后台服务的代码怎么办呢?  方法是有的: 寻求近卫军团帮忙

近卫军团有很多选手,今天要说的是 jQueryMock 这位。   mockjax官方地址:https://github.com/appendto/jquery-mockjax/

首先在你需要测试的页面里引入

  <script src="../lib/jquery-1.11.1.min.js"></script>
  <script src="../lib/jquery.mockjax.js"></script>

对应文件可以去上面提到的地址找到release版本

然后重点来,比如我们现在有一个ajax请求发到后台,需要获取一些后台数据:

TestModel = $.extend(TestModel, {
	ajaxTest : function() {
		$.ajax({
			url : '/test/Qunit_MockAjax_Test.action',
			type : 'GET',
			async: false,
			error : function(xhr) {
				alert('error');
			},
			success : function(response) {
				return response.result;
			}
		});
	}
});

现在意外发生了,写‘/test/Qunit_MockAjax_Test.action‘这个action的小伙伴被屠夫钩走而且咬住了,一时半会回不来了,我们怎么玩呢?不能傻傻的等他回来啊。这个时候我们可以虚拟一个ajax请求的返回值

/**
 * 虚拟Ajax的请求响应
 */
$.mockjax({
    url: '/test/Qunit_MockAjax_Test.action',
    status: 200,
    responseTime: 50,
    responseText: {"result":"hello mockAjax"}
    });

这里面的url,就是你请求的url地址,所有指向这个地址的请求都会被mockjax截获,按照你下面配置的参数给出返回。

比如我们这里的返回就是 {"result":"hello mockAjax"} 这个json格式的返回值了。

然后我们就可以继续玩耍了,忘了那个跟屠夫一起腐烂的小伙伴吧~~~

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-25 19:09:42

使用jquery-mockjax模拟ajax请求做前台测试的相关文章

jquery跨域Ajax请求

sonp原理: 首先在客户端注册一个callback, 然后把callback的名字传给服务器. 此时,服务器先生成 json 数据.然后以 javascript 语法的方式,生成一个function , function 名字就是传递上来的参数 jsonp. 最后将 json 数据直接以入参的方式,放置到 function 中,这样就生成了一段 js 语法的文档,返回给客户端. 客户端浏览器,解析script标签,并执行返回的 javascript 文档,此时数据作为参数,传入到了客户端预先定

模拟ajax请求爬取微博

#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2018/9/26 10:26 # @Author : Sa.Song # @Desc : 抓取崔庆才微博, 模拟ajax请求 # @File : weiBo.py # @Software: PyCharm import requests from urllib.parse import urlencode from pyquery import PyQuery as pq heade

论如何把JS踩在脚下 —— JQuery基础及Ajax请求详解

一.什么是JQuery? JQuery是一种JavaScript框架,是一堆大神搞出来的能够让前端程序猿敲更少代码.实现更多功能的工具(在此,跪谢各位JQuery开发大大们!!!).JQuery的使用给优化HTML文档操作.事件处理.动画设计和Ajax交互提供了巨大的便利.而且,其特有的链式语法也较与JS更为清晰. 二.JQuery入门 想要使用JQuery框架,就必须在html文档中导入JQuery插件,导入方式和日常导入外部JS文件的方式是相同的.但要注意,在同一html文档中插入多个外部J

浅谈jquery中的ajax请求和跨域请求

ajax请求数据的代码: $(function () { $.ajax({ url:url,//请求文件所在的url type:"get",//请求的方式 success:function (data) { console.log(data);//返回的数据 } })})这样请求来的数据一般情况下都可以使用,但是有时候在从这个域名到另外一个域名请求数据时往往会出现所谓的跨域请求问题, 浏览器均默认开启了同源策略,它指Ajax请求所在的页面和被请求的页面在协议.域名.端口均相同才能被访问

原生与jQuery封装的ajax请求数据及状态码

原生Ajax 请求数据 btn.addEventListener('click',function(){ if(window.XMLHttpRequest){ var xhr = new window.XMLHttpRequest(); }else{ //兼容IE浏览器 var xhr = new ActiveXObject('Microsoft.XMLHTTP'); } //请求方式get/post //请求URL //ture 异步请求:false 同步请求 xhr.open('get','

POSTMAN模拟AJAX请求

环境: 1.测试工具:POSTMAN 2.调试框架:THINKPHP 3.开发工具:PHPSTORM 需求: 1.判断HTTP提交过来的请求是否为AJAX: 是:进行,修改.新增 否:进行查询,并返回一条记录 配置: 1.POSTMAN配置: 1)提交模式:POST 2)Headers增加参数: Content-Type 为:application/x-www-form-urlencoded X-Requested-With 为:xmlhttprequest 3)Body选择为:x-www-fo

jquery中的ajax请求用法以及参数详情

url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 delete也可以使用,但仅部分浏览器支持. timeout: 要求为Number类型的参数,设置请求超时时间(毫秒).此设置将覆盖$.ajaxSetup()方法的全局设 置. async:要求为Boolean类型的参数,默认设置为true,所有请求均为异步请求. 如果需要发送同步请求,请将此选项

对Ajax请求做Session过期判断

1 // 全局Ajax设置, 用于session过期判断 2 function ajaxSetup() { 3 $.ajaxSetup({ 4 timeout : 10000, 5 beforeSend : function(xhr) { 6 //添加ajax请求标识 7 xhr.setRequestHeader("ajaxReq", "ajax"); 8 }, 9 complete : function(xhr, ts) { 10 if (xhr.statusTe

Jquery监听AJAX请求

.ajaxComplete() 当Ajax请求完成后注册一个回调函数.这是一个 AjaxEvent. .ajaxError() Ajax请求出错时注册一个回调处理函数,这是一个 Ajax Event. .ajaxSend() 在Ajax请求发送之前绑定一个要执行的函数,这是一个 Ajax Event. .ajaxStart() 在AJAX 请求刚开始时执行一个处理函数. 这是一个 Ajax Event. .ajaxStop() 在AJAX 请求完成时执行一个处理函数. 这是一个 Ajax Eve