重写jquery中ajax的success方法

用处: 重写ajax的success或者error的相关方法,可以让我们实现类似设计模式中,装饰模式的效果,可以使我们在在后台返回给前台数据的时候,先调用重写后的ajax中的方法,执行一些操作,然后在执行ajax,实现特定的功能.

我当时在做项目时,我们将项目的整体功能已经做完,我们在项目后期在补做的后台数据校验和SQL注入等功能.为了不再修改前台所有的ajax的success,我们重写了ajax的success方法,在重写的success方法中做统一的判断,判断数据校验后的结果或是否存在SQL注入等问题.

1. 重写ajax

我们在重写ajax的时候,将ajax随意写到任意的一个文件中(也可以写入到jquery.js文件中)

//将原ajax放到_ajax中
_ajax=$.ajax;
$.ajax=function(cfg){
    //将原ajax 中的success方法保存为_success
	cfg._success=cfg.success;
	cfg.cache=false;
     //重写ajax的success方法
	cfg.success=function(res){
		if('string'==typeof(res)){			
			if ("SQLError"== res) {
				alert("参数中含有SQL攻击脚本");
				return;
			}
			if ("XXSError"== res) {
				alert("参数中含有XXS攻击脚本");
				return;
			}
			if ("specialError"== res) {
				alert("参数中含有非法字符");
				return;
			}
			if ("codeiserror"== res) {
				alert("参数在传输过程中被篡改!");
				return;
			}
			if ("useriserror"== res) {
				alert("认证标识在传输过程中被篡改!");
				return;
			}
			if ("dataiserror"== res) {
				alert("数据在传输过程中被篡改!");
				return;
			}

		} 
            //如果我们在前面没有return,在这里我们将后台
            //返回的数据重新放入原先ajax
		if(cfg._success!=null)
		cfg._success(res);
	}
	_ajax(cfg);
}

在我们重写完ajax后,只需要我们将重写完成的ajax文件引入到页面中,就可以访问了.

jquery中ajax其他的方法,也可以像success方法一样重写.我们可以根据需要实现自己的功能.

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值