Extjs读取更改或者发送ajax返回请求的结果简单封装

Extjs的submit()方法提交的数据:如下:

this.formPanel.getForm().submit({
                url:this.saveUrl,
                method:‘POST‘,
                params:{
                    flag:e
                },
                success:function(form,action){
                    Ext.MessageBox.alert(‘提示‘,action.result.msg,function(){
                        this.store.reload();
                        this.hide();
                    },this);
                },
                failure:function(form,action){
                    Ext.MessageBox.alert(‘提示‘,action.result.msg);
                },
                scope:this
            });

Extjs的Ajax方法提交的数据以及返回的结果如下:

Ext.MessageBox.confirm(‘提示‘,‘确定置顶当前制度‘,function(button){
            if(button==‘yes‘){
                Ext.Ajax.request({
                    url:this.isTopOrNotUrl,
                    method:‘POST‘,
                    params:{
                        rulesId:record.data.rulesId
                    },
                    success:function(response,options){
                        var text = Ext.decode(response.responseText);
                        Ext.Msg.alert(‘提示‘,text.msg,function(){
                            this.store.reload();
                        },this);
                    },
                    failure:function(){
                        Ext.Msg.alert(‘提示‘,‘请求失败!‘);
                    },
                    scope:this
                });
            }
        },this);

后台修改或者删除完了,能够返回给前台Java代码后台写好的数据,因为封装了一个ExtReturn类型:如下:

package cn.edu.hbcf.common.vo;
 
/**
 * Ext Ajax 返回对象
 *
 * @author LiPenghui
 * @date 2012-02-21 19:30:00
 *
 */

public class ExtReturn {

private boolean success; // 是否成功
    private Object msg; // 返回消息
    private Object otherObject;// 其他对象

public ExtReturn() {

}

/**
     * 是否更新成功的构造方法
     *
     * @param success
     *            是否成功
     * @param msg
     *            消息
     */
    public ExtReturn(boolean success, Object msg) {
        this.success = success;
        this.msg = msg;
        this.otherObject = "";
    }

/**
     * 是否更新成功的构造方法
     *
     * @param success
     *            是否成功
     * @param msg
     *            消息
     * @param otherObject
     *            其他对象
     */
    public ExtReturn(boolean success, Object msg, Object otherObject) {
        this.success = success;
        this.msg = msg;
        this.otherObject = otherObject;
    }

/**
     * 异常时的构造函数
     *
     * @param errormsg
     *            异常消息
     */
    public ExtReturn(Object errormsg) {
        this.success = false;
        this.msg = false;
        this.otherObject = "";
    }

/**
     * 判断是否成功
     *
     * @return
     */
    public boolean isSuccess() {
        return success;
    }

/**
     * 设置返回是否成功的状态
     *
     * @param success
     */
    public void setSuccess(boolean success) {
        this.success = success;
    }

/**
     * 设置其他对象
     *
     * @return
     */
    public Object getOtherObject() {
        return otherObject;
    }

/**
     * 获取其他对象
     *
     * @param otherObject
     */
    public void setOtherObject(Object otherObject) {
        this.otherObject = otherObject;
    }

/**
     * 获取返回的消息
     *
     * @return
     */
    public Object getMsg() {
        return msg;
    }

/**
     * 设置返回的消息
     *
     * @param msg
     */
    public void setMsg(Object msg) {
        this.msg = msg;
    }
}
controller中直接调用即可,如下:

@RequestMapping(value="/isTopOrNotUrl",method=RequestMethod.POST)
    @ResponseBody
    public ExtReturn isTopOrNotUrl(HttpSession session,BaseRules baseRules){
        BaseUsers u = (BaseUsers) session.getAttribute(WebConstants.CURRENT_USER);
        baseRules.setIsTop(1);
        baseRules.setUpdateUser(u);
        baseRules.setUpdateTime(new Date());
        try {
            baseRulesService.isTopOrNotUrl(baseRules);
            return new ExtReturn(true,"置顶成功");
        } catch (Exception e) {
            e.printStackTrace();
            return new ExtReturn(false,"置顶失败");
        }
    }

mybatis中的xml如下:

<update id="isTopOrNotUrl" parameterType="cn.edu.hbcf.plugin.sms.baseRules.pojo.BaseRules">
    update SMS_BASE_RULES t
       set t.UPDATE_USER    = #{updateUser.userId,jdbcType=VARCHAR},
           t.UPDATE_TIME   = #{updateTime,jdbcType=TIMESTAMP},
           t.IS_TOP   = #{isTop,jdbcType=INTEGER}
        <where>
             t.RULES_ID = #{rulesId, jdbcType=VARCHAR}
        </where>   
</update>

很简单的封装,接收数据方便多了

时间: 2024-11-12 15:13:36

Extjs读取更改或者发送ajax返回请求的结果简单封装的相关文章

利用jQuery发送ajax异步请求

//很少接触JQuery的Ajax请求 就想着记录一下 到时候有用 $('form').submit(function (e) { // 阻止表单默认提交 e.preventDefault(); var name = $('#name').val(); var password = $('#password').val(); var data = JSON.stringify({"name": name, "password": password}); // 异步发

响应json数据之发送ajax的请求

一.前端异步请求代码: <span style="font-size:14px;">$.ajax ({ type: "POST", //请求的方式 url: "outputservlet3", //请求url data: {}, //前端向后端传送的数据 dataType: "json", //数据格式json error: function () //请求错误的回调函数 { }, success: functio

移动App,AJAX异步请求,实现简单的增、删、改、查

用ajax发异步请求时,要注意url."AppServer"为后台项目名,"LoginServlet.action"为web.xml中的<url-pattern></url-pattern>标签中的内容. 前台代码如下(核心代码): index.html: 1 $(function() { 2 $('#login').click(function() { 3 var account = $("#account").val(

jQuery发送ajax请求三种方式

<button>点击发送ajax get请求</button> <button>点击发送ajax post请求</button> <button>点击发送通用的ajax请求</button> <script type="text/javascript" src="jquery-1.8.3.min.js"></script> <script type="te

09.VUE学习之watch监听属性变化实现类百度搜索栏功能ajax异步请求数据

cmd下安装axios npm install axios 安装好后,会多出node_modules文件夹 思路: 监听data里的word改变时,发送ajax异步请求数据, 把返回的数据赋值给data里的result,再传给模板里 9.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible&qu

防止重复发送Ajax请求的解决方案

防止重复发送Ajax请求的解决方案 这篇文章主要介绍了防止重复发送Ajax请求的解决方案,感兴趣的小伙伴们可以参考一下 在页面中有多个按钮,点击该按钮可以异步的去服务端读取数据,然后在前端将数据展示出来. 每个按钮点击请求的页面都是同一个,但是请求的参数不同,所以返回的内容就不同. 在连续点击多个按钮的时候就会发出多个异步请求.那么根据请求返回的快慢(因为不同按钮参数不同,返回内容不同,所以会有快慢之分),数据会依次的展示出来,那么就会出现一个先点击的按钮,由于他请求的数据量比较大,导致数据被后

使用原生JavaScript发送ajax请求

关于使用原生JavaScript发送异步请求给服务端. 准备工作: 代码编写工具用的是sublime 服务端使用的是wamp搭的一个本地Apache服务器,主要用来返回数据 方便测试 步骤: 浏览器端 html标签绑定事件发送ajax请求----> 五步操作:1 创建异步对象XMLHttpRequest; 2 设置method url 3 发送请求给服务端 4 注册事件   5 在事件中获取服务端返回的数据,进行操作. 服务器端 1 获取请求数据 2 返回结果给浏览器 下面来一个小demo1做一

Jquery 页面初始化常用的三种方法以及Jquery 发送ajax 请求

第一种 $(document).ready(function(){ //文档就绪事件 }); 第二种是第一种的简略写法,效果上和第一种是等效的. $(function(){ //文档加载事件,整个文档加载完成后执行.就仅仅只需要加载所有的DOM结构,在浏览器把所有的HTML放入DOM tree之前就执行js效果.包括在加载外部图片和资源之前. }); 第三种 jQuery(function($){ }); window.onload=function(){ //onload事件是js 中的代码

通过在jquery中添加函数发送ajax请求来加载数据库数据,以json的格式发送到页面

通过在jquery中添加函数发送ajax请求来加载数据库数据,以json的格式发送到页面 从数据库中查询仓库信息,显示在下拉菜单中: 首先,引入js插件,这里使用jquery-1.8.3.js <script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-1.8.3.js"></script> 当页面加载完成后,就应该发送ajax请求到数据库,