Extjs中三种不同的数据提交方式

Extjs的三种提交方式:

表单Ajax提交,普通提交,单独Ajax提交;

1.表单ajax提交(默认提交方式)

提交函数:当按下表单中的提交按钮时执行下面的btn函数,按照表单的name进行提交。提交数据后根据后台的返回值不同来回调success或者failure函数(和单独ajax的提交不同),后台返回值的形式:
【如果返回outputResult(“{success:true}”),则调用success的函数。如果返回:outputResult(“{success:false,reason:’”+e.getCause() +”‘}”); 则调用failure函数】

function btn (){

form.getForm.submit({

method:’POST’,

params:{}, // 传递的参数

url:save_url, // 定义要跳转的url,此为属性必须要有

success: function(form,action){

//Ext.Msg.alert(‘信息’,”提示:”+”response.responseText”);//加粗体是得到后台的具体返回信息。

Ext.Msg.alert(‘提示’,”数据修改成功”);// 成功提示信息

store.load(); // 重新加载数据

},

failure:function(form,action){

Ext.Msg.alert(‘提示’,”跳转失败”);

}

});

}

2.普通提交:按照表单中的name提交。

Form. = new Ext.FormPanel({

……..// form的属性

submit:function(){

this.getEl().dom.action =’url’;// 提交的url

this.getEl().dom.method = ‘post’;

this.getEl().dom.submit();

},

});

当按提交按钮时,执行下面函数:

function btn (){

Form.form.submit();

}

3.extjs的普通ajax提交:

当按下提交按钮是执行次函数:(注意:不能对form表单提交,也就是说也不能按form中的表单的name提交,只能提交params中的参数。只要能够提交到后台不管数据能否正确执行就回调success函数,如果网络有故障,或者页面有错误数据到不了后台,就执行failure函数。

后台返回值的形式:【如果数据处理成功返回outputResult(“{success:true,’……..’}”)。如果数据处理失败返回:outputResult(“{success:false,reason:’”+e.getCause() +”‘}”);】

我们一般要求是:数据处理成功后显示成功信息,失败后显示失败信息。

但是这种提交不管返回什么值,都会执行success函数。所以不能满足我们的要求。为了解决这个矛盾我们有一下方法:

我们在js页面中的success函数中取得返回值,我们对返回值进行判断,如果success是true我门就打印成功信息,如果success是false我们就打印失败的提示。

取得返回值:var responseArray = Ext.util.JSON.decode(response.responseText); 判断如下:

function btn(){

…..// 定义url,也可以在方法外面

Ext.Ajax.request({

url:url,// 要跳转的url,此为属性必须要有

method:’post’,

params:{}, // 提交参数

success: function(response, options)

{

var responseArray = Ext.util.JSON.decode(response.responseText);

if(responseArray.success==true)

{

1.表单ajax提交(默认提交方式)

另附1:

]

博主注:这里的error未查明是否是保留的属性,不过在从服务器返回的json字符串可以包含任意定义的键值对:例如       Response.Write("{success:false,  data111: { first: 'tom', last: 'king', company: 'microsoft', email: 'czclkg@21cn.com', time: '10:00am' }}");

前台:

buttons: [{text: 'submit',handler: function () {frm.getForm().submit({//method1:// url: 'jsonresponse.aspx?userName=chen&pwd=123',                         //method2:说明,这里通过method设为get,则url中指定的参数将失效(如method1中userName和pwd),表单项转换成url中的key=value传递给服务端url: 'jsonresponse.aspx',method: 'get',params: {userName:'chen',pwd:'123'},success: function (f, a) {Ext.Msg.alert('Success', 'It worked');},failure: function (f, a) {Ext.Msg.alert('Warning', a.result.data111.first);}});}}]

是可以接收到data111的

附2:

3.extjs的普通ajax提交:

Extjs中三种不同的数据提交方式相关推荐

  1. R中6种读入表格数据的方式哪个最快?结果出人意料!

    R怎么读入表格数据最快? R中有6个常用数据读取函数: utils::read.csv: 默认使用的读入方式 (read.table) readr::read_csv: readr包中的读入函数 (R ...

  2. Android中三种超实用的滑屏方式汇总(ViewPager、ViewFlipper、ViewFlow)

    现如今主流的Android应用中,都少不了左右滑动滚屏这项功能,(貌似现在好多人使用智能机都习惯性的有事没事的左右滑屏,也不知道在干什么...嘿嘿),由于前段时间项目的需要,所以也对其研究了一下,总的 ...

  3. 【移动开发】Android中三种超实用的滑屏方式汇总(ViewPager、ViewFlipper、ViewFlow)...

    现如今主流的Android应用中,都少不了左右滑动滚屏这项功能,(貌似现在好多人使用智能机都习惯性的有事没事的左右滑屏,也不知道在干什么...嘿嘿),由于前段时间项目的需要,所以也对其研究了一下,总的 ...

  4. 四种常见的 POST-- content-type数据提交方式

    HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS.GET.HEAD.POST.PUT.DELETE.TRACE.CONNECT 这几种.其中 POST 一般用来向服务端提交数据,本文 ...

  5. Workflow 4.0 中三种方式实现workflow的触发调用

    1:使用WorkflowInvoker类中的InVoke静态方法-->WorkflowInvoker.Invoke(myWF); //myWF为自定义的workflow实例 [这种方式可以像一个 ...

  6. VMware vSphere中三种磁盘:精简置备/厚置备置零/厚置备延迟置零

    有时候我们可能会遇到这样几种现象:虚拟机置备100G,但是平台上却显示虚拟机使用了500G存储? 平台上看到所有虚拟机加起来才3T,存储上5T的空间却没了,严重的还导致所有虚拟机宕机. 为啥?都是&q ...

  7. .NetCore中三种注入方式的思考

    .NetCore中三种注入方式的思考 原文:.NetCore中三种注入方式的思考 该篇内容由个人博客点击跳转同步更新!转载请注明出处! .NetCore彻底诠释了"万物皆可注入"这 ...

  8. 【转载】VMware vSphere中三种磁盘规格的解释说明

    在VMware vSphere中,不管是以前的5.1版本,或者是现在的6.5版本,创建虚拟机时,在创建磁盘时,都会让选择磁盘的置备类型,如下图所示,分为: 厚置备延迟置零 厚置备置零 Thin Pro ...

  9. Redis中三种特殊数据类型

    本文来说下Redis中三种特殊数据类型 文章目录 Gerspatial地理位置 Hyperloglog基数统计 Bitmap位图 Gerspatial地理位置 一共 6 个命令: GEOADD GEO ...

最新文章

  1. 导入drupal中文语言包
  2. 0基础学好python难不难_零基础学习Python难不难?Python有什么优势?
  3. Codeforces 447C - DZY Loves Sequences
  4. springMVC3学习(二)--ModelAndView对象
  5. 高效多云管理做到这点就够!
  6. ARM 之十二 Cortex-M 内核异常处理、异常定位方法、在线调试、Keil MDK-ARM 的使用
  7. Sqlite数据库相关
  8. 图文解释Glados自动签到免费获取天数(github action版)
  9. orm查询部分字段_ORM问题第2部分–查询
  10. java中的locksupport_java中线程的停止以及LockSupport工具类
  11. 小哥送一单外卖应该拿多少钱?
  12. 使用find 命令执行命令 -exec
  13. jsp测试连接mysql_JSP 连接MySQL配置与测试
  14. ping 丢包 网络摄像头_Ping丢包故障案例
  15. 《51单片机应用开发从入门到精通》——2.10 变频报警实例
  16. MSF之IIS6WebDAV执行漏洞复现
  17. latex pdf 统计字数
  18. android图片花,Android中使用Canvas绘制南丁格尔玫瑰图(Nightingale rose diagram)
  19. js闭包的理解(传递闭包的通俗理解)
  20. 微信小程序3D轮播图实现

热门文章

  1. Windows 10半年成全球第二!中国悲剧了
  2. Android应用程序消息处理机制
  3. 终结者:具体解释Nginx(一)
  4. Linux学习笔记十三——文件压缩、解压缩和归档
  5. connect.js源码解析
  6. 在 npm script 中使用环境变量
  7. Debian 9 更换源 使用国内源 配置方法
  8. 容器编排技术 -- Kubernetes Network Policy
  9. Spring IoC,Spring Bean示例教程
  10. 【nginx】【小记】泛解析大量域名的情况下 将不带www的域名,301到与之对应的www前缀的域名