博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ExtJs 4.x Ajax简单封装
阅读量:5316 次
发布时间:2019-06-14

本文共 2727 字,大约阅读时间需要 9 分钟。

/** * Ajax 请求 */Ext.define("SinoCloudAjaxRequestClass", {    constructor : function () {        var me = this;        var viewport = me.getViewPort();        if(viewport){            window.sinoCloudAjaxRequestClassLoadingMak = new Ext.LoadMask(viewport, {msg:"处理中..."});        }    },    request : function (method,param, url, func,anotherFunc) {  //用于执行ajax请求,其中,func为第一个回调方法,一般用于执行成功提示,可以使用该类的commonPrompt,也可以直接处理成功请求后的业务,anotherFunc用于处理请求成功后执行的业务,可选        var me = this;        me.showViewportLoading();        Ext.Ajax.request({            url: url,            params: param,            method: method,            success: function (response, options) {                me.hideViewportLoading();                if(func){                    func(response, options,anotherFunc);                }else{                    Ext.Msg.alert('error', 'error...did not define ajax callback function...');                }            }, failure: function (response, options) {                me.hideViewportLoading();                Ext.Msg.alert('错误', '系统错误,请稍候再试!');            }        });    },get: function (param, url, func,anotherFunc) {        var me = this;        me.request("get",param,url,func,anotherFunc);    }, post: function (param, url, func,anotherFunc) {        var me = this;        me.request("post",param,url,func,anotherFunc);    },commonPrompt : function (response, options,anotherFunc) {  //一般提示        if(anotherFunc){            anotherFunc(response,options);        }        var text = response.responseText;        if (text) {            text = text.trim();            var json = Ext.decode(text);            var success = json.success;            if (success) {                Ext.Msg.alert('提示', "操作成功!");            } else {                var msg = json.msg;                if(msg){                    Ext.Msg.alert('提示', msg);                }else{                    Ext.Msg.alert('提示', "操作失败!");                }            }        } else {            Ext.Msg.alert('提示', "系统错误...");        }    },getViewPort : function () {        return Ext.getBody();    },showViewportLoading : function () {        if(sinoCloudAjaxRequestClassLoadingMak){            sinoCloudAjaxRequestClassLoadingMak.show();        }    },hideViewportLoading : function () {        if(sinoCloudAjaxRequestClassLoadingMak){            sinoCloudAjaxRequestClassLoadingMak.hide();        }    }});

 

 

使用方式 : 

var ajax = Ext.create("SinoCloudAjaxRequestClass");var param = {     id : 1};var url = "demo.action";;ajax.post(param,url,function(response, options){});或者 : ajax.post(param,url,ajax.commonPrompt,function(response, options){});ajax.commonPrompt 会自动验证返回的json的success并给出提示

 

转载于:https://www.cnblogs.com/hythzx/p/4654415.html

你可能感兴趣的文章
【NOIP必备攻略】 基本noilinux使用方法
查看>>
win32 注册表操作
查看>>
廖雪峰 练习 把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字...
查看>>
3150 Pibonacci数 - Wikioi
查看>>
mooc- 基本程序设计方法week1,week2
查看>>
Linux常用开发环境软件-Redis安装(docker环境下)
查看>>
v4L2编程
查看>>
sqlserver2008 创建支持文件流的数据库
查看>>
关于时钟
查看>>
DAS,NAS,SAN在数据库存储上的应用
查看>>
javascript的关于刷新页面给出提示框的代码
查看>>
lintcode - 被围绕的区域
查看>>
mysql8用户管理
查看>>
51 Nod 1670 打怪兽
查看>>
根据实例类型反射操作数据库(简单通用表操作类)
查看>>
python实现批量压缩文件夹
查看>>
linux slub分配器浅析
查看>>
TCP的TIME_WAIT状态
查看>>
iOS 设置导航栏的颜色和导航栏上文字的颜色
查看>>
类的进阶
查看>>