zoukankan      html  css  js  c++  java
  • extJs常用的四种Ajax异步提交

    extJs常用的四种Ajax异步提交

     在action中输出的方法为:

    HttpServletResponse response=ServletActionContext.getResponse();
    response.setContentType("text/html");
    response.setCharacterEncoding("UTF-8");
    response.getWriter().print("宗龙龙!");或者response.getWriter().write("宗龙龙!");
    response.getWriter().flush();
    response.getWriter().close();

    如果不写response.getWriter().flush(); 
    response.getWriter().close();或者

    /**
     * 第一种Ajax提交方式
     * 这种方式需要直接使用ext Ajax方法进行提交
     * 使用这种方式,需要将待传递的参数进行封装
     * @return
     */
    function saveUser_ajaxSubmit1() {
     Ext.Ajax.request( {
      url : 'user_save.action',
      method : 'post',
      params : {
       userName : document.getElementById('userName').value,
       password : document.getElementById('password').value
      },
      success : function(response, options) {
       var o = Ext.util.JSON.decode(response.responseText);
       alert(o.msg);
      },
      failure : function() {
      }
     });
    }
    /**
     * 第二种Ajax提交方式
     * 这种方式将为ext的ajax指定一个html表单
     * 使用这种方式,不需要将待传递的参数进行封装
     * 
     * @return
     */
    function saveUser_ajaxSubmit2() {
     Ext.Ajax.request( {
      url : 'user_save.action',
      method : 'post',
      form : 'userForm', // 指定表单
      success : function(response, options) {
       var o = Ext.util.JSON.decode(response.responseText);
       alert(o.msg);
      },
      failure : function() {
      }
     });
    }
    /**
     * 第三种Ajax提交方式
     * 这种方式将为ext的自己的表单进行提交
     * 使用这种方式,需要使用ext自己的textField组件
     * 
     * @return
     */
    function saveUser_ajaxSubmit3() {
     // 定义表单
     var formPanel = new Ext.FormPanel( {
      labelWidth : 75,
      frame : true,
      bodyStyle : 'padding:5px 5px 0',
      width : 350,
      defaults : {
       width : 230
      },
      defaultType : 'textfield',
      items : [ {
       fieldLabel : '用户名',
       name : 'userName',
       allowBlank : false
      }, {
       fieldLabel : '密   码',
       name : 'password'
      } ]
     });
     // 定义窗口
     var win = new Ext.Window( {
      title : '添加用户',
      layout : 'fit',
      width : 500,
      height : 300,
      closeAction : 'close',
      closable : false,
      plain : true,
      items : formPanel,
      buttons : [ {
       text : '确定',
       handler : function() {
        var form = formPanel.getForm();
        var userName = form.findField('userName').getValue().trim();
        var password = form.findField('password').getValue().trim();
        if (!userName) {
         alert('用户名不能为空');
         return;
        }
        if (!password) {
         alert('密码不能为空');
         return;
        }
        form.submit( {
         waitTitle : '请稍后...',
         waitMsg : '正在保存用户信息,请稍后...',
         url : 'user_save.action',
         method : 'post',
         success : function(form, action) {
          alert(action.result.msg);
         },
         failure : function(form, action) {
          alert(action.result.msg);
         }
        });
       }
      }, {
       text : '取消',
       handler : function() {
        win.close();
       }
      } ]
     });
     win.show();
    }
    /**
     * 第四种Ajax提交方式
     * 这种方式将html的表单转化为ext的表单进行异步提交
     * 使用这种方式,需要定义好html的表单
     * 
     * @return
     */
    function saveUser_ajaxSubmit4() {
     new Ext.form.BasicForm('userForm').submit( {
      waitTitle : '请稍后...',
      waitMsg : '正在保存用户信息,请稍后...',
      url : 'user_save.action',
      method : 'post',
      success : function(form, action) {
       alert(action.result.msg);
      },
      failure : function(form, action) {
       alert(action.result.msg);
      }
     });
    }
    破罐子互摔
  • 相关阅读:
    二线城市的创业人才之战
    小程序的风口到底如何?
    短视频广告一条上百万,揭秘短视频背后的故事
    让我们来看看这些企业的创始人,在互联网金融的十年里的故事
    背靠大树成为创业成功的显学
    草根站长的艰辛创业路
    互联网大佬们的创业重要选择时刻
    80后的罗敏已经在创业路上走了十几年
    CentOS7 通过 YUM 升级 VIM8
    matplotlib 画图中的basemap安装问题
  • 原文地址:https://www.cnblogs.com/zonglonglong/p/2661989.html
Copyright © 2011-2022 走看看