ExtJS中Ext.Ajax.request与form.getForm().submit的基本区别

MATLAB 论文复现——面向紧急需求响应的规模化灵活资源负荷管理快速决策方法 其次,对灵活资源参与EDR的功率分配模型进行了建模,并提出了基于分层分布式共识算法的快速决策方法,对功率分配模型进行快速求解,以满足EDR实时性的需求,在保证较高精度的前提下提高了决策速度。[1]孔祥玉,杨至端,孙裕策,等.面向紧急需求响应的规模化灵活资源负荷管理快速决策方法[J/OL].电力系统自动化,1-13[2024-07-29].http://kns.cnki.net/kcms/detail/32.1180.TP.20240709.1843.002.html.关键词: 规模化灵活资源; 阅读详情

相同点:都属于Ajax提交方式!

不同点:Ext.Ajax.request是Ext.data.connection的一个实例

        form.getForm().submit是BasicForm的一个实现方式

使用上的区别:

1.form.getForm().submit常用在表单提交的时候,就是说要提交页面数据,比如新增和修改数据页面

2.Ext.Ajax.request常用在根据参数提交的时候,比如删除,我们把页面选中的ID进行遍历,封装在一个Array中,作为一个参数做Ajax的提交

例子:

首先是form.getForm().submit的例子:

function formSubmit(){
   if (form.getForm().isValid()) {
    form1.getForm().submit({
     waitTitle : '提示',//标题
     waitMsg : '正在提交数据请稍后...',//提示信息
     url : 'eidtBooktype.action',
     method : 'post',
     params : 'booktype',
     success : function(form, action) {
      var flag=action.result.msg; //此时后台返回的json字符串是{success: true,msg:'ok'}
      window.returnValue='SUCC';  //通过action.result获得Json对象
      Ext.Msg.alert('提示',flag,function(){
       window.close();
      });
     },
     failure : function(form,action) {
      var flag=action.result.msg;
      Ext.Msg.alert('操作', flag);
     }
    });
   }
}

其次是一个Ext.Ajax.request的例子:

Ext.Ajax.request({
         url : 'deleteBooktypes.action',
        method : 'post',
        params : {delids:deleteids.toString()},
        success : function(response,options) {
         //alert(response.responseText); //返回的json值的字符串
         var respText = Ext.util.JSON.decode(response.responseText); //把返回的json字符串({success:true,msg:'ok'})
         var msg=respText.msg;      //变为json格式的对象数组,通过 对象.属性名,获得值
         Ext.MessageBox.alert('提示',msg,function(){     //但是如果后台返回({success:true,result:{msg:'ok',info:'no'}})
             //此时var msg=respText.result[0].msg
         });
        },
        failure : function(response,options) {
         var respText = Ext.util.JSON.decode(response.responseText); 
         var msg=respText.msg;
         Ext.MessageBox.alert('提示',msg,function(){
          bookTypeStore.reload();
         });
        }
       });

使用是的区别:

最明显就是success和failure时候function的参数!

Ext.Ajax.request的function(response,options),option非常有用,用response.responseText获得返回参数,注意这个地方的response参数可以换成action

form1.getForm().submit的function(form, action),action很有用,用action.result.msg获得返回值

还有个最明显区别是Ext.Ajax.request不可以用waitMsg,真是Ext的一个败笔呀!!!

 

 

==============================================================================================

前置: 
后台成功返回字符串:{success:true,msg:'操作成功!'} 
后台失败返回字符串:{success:false,errors:'操作失败!'} 
当submi提交时,action不存在后台返回下图字符串: 


下面所有的action不存在,是指url路径不存在 

FormPanel 提交代码如下:

Java代码  复制代码
  1. var G = new Ext.form.FormPanel({})   
  2.     
  3. G.getForm().submit({//客户端的数据提交给服务器   
  4.                     url:wayfoon.MMS.DataPage +'/ext2Upload.action',      
  5.                     //waitMsg:"正在提交表单数据,请稍候。。。。。。",       
  6.                     failure:function(form, action){   
  7.                         Ext.MessageBox.alert('警告', action.result.errors);          
  8.                     },         
  9.                     success: function(form, action){    
  10.                         Ext.MessageBox.alert('信息', action.result.msg);   
  11.                      }        
  12.                 });   

根据后台json 字符串 success的值(ture/false)自动选择failure或者success,也可以捕捉前台错误(走failure流程),比如数据非法而被强制提交时, 
后台字符串需要通过action.result 转成json 字符串,供我们按习惯的方法使用, 

对于后台异常处理,比如 action不存在,则无能为力,会出JavaScript错误, 
错误处,ext-all.js的代码

Java代码  复制代码
  1. this.decode = function(json) {   
  2.         //alert(json);   
  3.   return eval("(" + json + ")")   
  4.  }  

原因是无法将上图(如图)的字符串转成json字符串,导致无法判断走哪个流程,而正常情况下,返回的是 {success:true,msg:'操作成功!'}或其他。 
试了将上面代码使用try{}catch (){} 还是不能解决JavaScript错误,我们一般可以避免这种后台错误,如果非得解决的话,不知道有没有好的解决方法。 


Ext.Ajax.request提交代码如下:

Java代码  复制代码
  1. Ext.Ajax.request({   
  2.     url:wayfoon.MMS.DataPage+'/cpSMS.action?action=submitSMS',   
  3.     method:'POST',   
  4.     params:'id='+id,   
  5.     success:function(form,action){   
  6.         var obj = Ext.util.JSON.decode(form.responseText);   
  7.         if(obj.success==true)   
  8.         {    
  9.             Ext.Msg.alert('提示',obj.msg);   
  10.             ds.reload();   
  11.         }   
  12.         else  
  13.         {   
  14.             //Ext.Msg.alert('提示',obj.errors);   
  15.             Ext.Msg.alert('提示',obj.msg);   
  16.         }     
  17.     },   
  18.     failure:function(form,action){   
  19.         Ext.Msg.alert('警告','系统错误');   
  20.     }   
  21. });  

后台字符串通过Ext.util.JSON.decode 转成json字符串 
不能自动根据json字符串success的值来选择流程 ,需要根据obj.success的值来判断走哪个流程 

该failure:可以捕捉系统异常,比如,数据未曾提交到后台或action 不存在,此时走failure 流程

海上通信技术发展与研究综述 通过对海浪模型、节点运动特性、天线辐射特性等进行特征深度学习,考虑改变有效链路的持续时间、业务类型和容量的区别,以及卫星和节点的仰角等,改变通信策略,设计动态波束成形算法,优化折中浮标天线增益和波束宽度,适应海上环境,尤其是海浪运动时变的特性。目前的海上通信系统,同时包括海上无线通信系统、卫星通信系统、岸基通信系统、船载基站通信系统、空中基站通信系统等不同方法组成的通信系统来满足不同的需求,如海上无线通信系统通信成本低廉、卫星通信系统具有广域的覆盖范围、岸基通信网络可以实现数据高速传输。 阅读详情

相关推荐

C#与工业设备的OPC DA/UA协议通信开发

摘要:本文介绍了C#与工业设备通信的两种OPC协议(OPC DA和OPC UA)的实现方法。OPC DA基于COM/DCOM技术,适用于Windows平台,提供实时数据采集功能;OPC UA则支持跨平台通信,具备更强的安全性和数据建模能力。文章详细展示了如何使用C#通过OPC DA和OPC UA协议读取、写入数据,并提供了代码示例,包括安装相关库、建立连接、订阅数据变化等关键步骤。这些方法为工业自动化中的设备监控与控制提供了实用解决方案。(149字)

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1264

ExtJS中Ext.Ajax.request与form1.getForm().submit

相同点:都属于Ajax提交方式! 不同点:Ext.Ajax.request是Ext.data.connection的一个实例        form1.getForm().submit是BasicForm的一个实现方式 使用上的区别: 1.form1.getForm().submit常用在表单提交的时候,就是说要提交页面数据,比如新增和修改数据页面 2.Ext.Ajax.request常

全欣 的专栏 5276

普中科技ESP8266-01s模块CWJAP:3 FAIL报错?手把手教你用AT+CWSAP指令搞定WiFi配置

本文详细解析了普中科技ESP8266-01s模块常见的CWJAP:3 FAIL报错问题,并提供了通过AT+CWSAP指令正确配置WiFi的实战解决方案。文章涵盖错误根源分析、硬件连接指南、AT指令详解及高级调试技巧,帮助开发者快速解决ESP8266-01s模块的WiFi配置难题。

weixin_42653691的博客 202

Ext.Ajax.request和formPanel.getForm().submit两种提交方法的异同

Ext.Ajax.request和formPanel.getForm().submit()两种提交方法的异同: 1、相同点: a)都是使用异步提交的方式; b)默认都是使用POST方式来提交数据; 2、不同点: a)Request方法不可以使用waitMsg属性来设置在等待响应过程中显示的信息,而submit方法提交时这个设置是可用的(可以看到效果,而前面说的不可用是指设置了看不到效...

linuxstuding 208

别再傻傻分不清了!Anaconda和Miniconda到底选哪个?附保姆级安装与镜像源配置(Windows/Mac)

本文详细解析了Anaconda和Miniconda的核心差异,包括体积、预装内容、系统资源占用等关键维度,并提供了针对不同需求的决策框架。附有Windows和Mac双平台的详细安装与配置指南,帮助用户根据实际需求选择最适合的conda工具,提升开发效率。

weixin_30315723的博客 426

基于Python的智能动漫更新监控爬虫系统:从原理到实战

本文详细介绍了如何使用Python构建一个智能化的动漫更新监控系统,涵盖从基础爬虫到高级自动化监控的全套解决方案。文章将深入探讨最新的网络爬虫技术,包括异步请求、反反爬策略、智能解析算法等,并提供完整的代码实现和性能优化方案。通过本系统,用户可以实时获取多个动漫平台的更新信息,并通过多种渠道接收通知。关键词:Python爬虫、动漫监控、自动化通知、异步爬虫、反反爬策略。

2201_76125261的博客 902

form.getForm().submit的用法及Ext.Ajax.request的小小区别

if (!formDetail.getForm().isValid()) { msg("警告", "请填写必要信息项!"); return; } ...

weixin_30585437的博客 232

手把手教你学Simulink--基于Simulink的机械臂工业装配任务仿真建模

特点高精度要求:装配过程通常需要非常高的位置精度。多步骤操作:一个完整的装配任务可能包含多个连续的子任务,如抓取零件、移动到特定位置、装配等。动态环境:工作环境可能是动态变化的,例如其他机器人或人员在同一空间内工作。挑战复杂性管理:需要处理复杂的运动学和动力学问题,以及可能的碰撞避免。实时性:某些应用场景下需要快速响应以保证生产效率。集成度:需要与其他系统(如传感器、PLC等)无缝集成。首先明确要模拟的装配任务内容。零件的位置和尺寸。装配顺序。

MHD0815的博客 240

关于Ext formPanel.getForm().submit()方法与standardSubmit属性的一些事

版本 Extjs 3.3.1    查看API文档,发现formPanel.getForm()是一个BasicForm对象,submit方法定义如下:   submit ( Object options  ) : BasicForm options : Object The ...

zhuchengzzcc的专栏 999

手把手教你学Simulink——基于经典PID控制的电机系统场景实例:步进电机PID位置控制系统的实现

步进电机(Stepper Motor)是一种将电脉冲信号转化为角位移的执行元件,具有结构简单、控制方便、定位精度高等优点,广泛应用于数控机床、机器人、打印机、3D打印机等需要精确定位的场合。传统的步进电机多采用开环控制,但在高速或负载变化较大的情况下容易出现丢步、振荡等问题。为提高控制精度与响应性能,闭环PID控制被引入步进电机的位置控制中,通过编码器或旋转变压器等反馈装置,实现高精度、高稳定性的位置控制。本教程将带你使用构建一个基于PID控制的步进电机位置控制系统仿真模型步进电机建模。

MHD0815的博客 9695

Cartographer实现双雷达建图

TRAJECTORY_BUILDER_2D.num_accumulated_range_data = 2 --执行一次前端匹配需要的激光扫描分段数量。关于num_subdivisions_per_laser_scan。num_laser_scans =2,--订阅激光扫描话题数量。Frame改为 前雷达laser_1 后雷达laser_2。雷达的话题由scan改为,前scan_1 后scan_2。有些人说需要改成2,但我这里改成2反而不行,1才可以。

Studying…… 1261

Ext.Ajax.request与getForm().submit的区别

1.for.getForm().submit的用法: if (!formDetail.getForm().isValid()) {       msg("警告", "请填写必要信息项!");       return;   }   else {       try {           formDetail.getForm

Andy_java_的博客 666

芒果YOLO11改进146:OBB旋转检测头Head篇:即插即用|轻量化非对称多级压缩LOADH旋转检测头,原创改进适配YOLOv8高效检测头,检测头新颖改进,全网首发独一份

OBB旋转检测头Head篇:即插即用|轻量化非对称多级压缩LOADH旋转检测头,原创改进适配YOLOv8高效检测头,检测头新颖改进,全网首发独一份

包括YOLOv5、YOLOv7、YOLOv8等模型改进 643

ExtJS中Ext.Ajax.request与form1.getForm().submit的基本区别

相同点:都属于Ajax提交方式! 不同点:Ext.Ajax.request是Ext.data.connection的一个实例 form1.getForm().submit是BasicForm的一个实现方式 使用上的区别: 1.form1.getForm().submit常用在表单提交的时候,就是说要提交页面数据,比如新增和修改数据页面 2.Ext.Ajax.r

风过无声 8389

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

ExtJS Ext.Ajax.request与form1.getForm().submit的基本区别

相同点:都属于Ajax提交方式! 不同点:Ext.Ajax.request是Ext.data.connection的一个实例               form1.getForm().submit是BasicForm的一个实现方式 使用上的区别: 1.form1.getForm().submit常用在表单提交的时候,就是说要提交页面数据,比如新增和修改数据页面 2.Ext.Ajax.r

jazywoo_在路上 903

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

extjs ajax request,ExtJS中Ext.Ajax.request与form1.getForm().submit的基本区别

相同点:都属于Ajax提交方式!不同点:Ext.Ajax.request是Ext.data.connection的一个实例form1.getForm().submit是BasicForm的一个实现方式使用上的区别:1.form1.getForm().submit常用在表单提交的时候,就是说要提交页面数据,比如新增和修改数据页面2.Ext.Ajax.request常用在根据参数提交的时候,比如删除,...

weixin_36416418的博客 310

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

VS Code C/C++嵌入式调试实战:从环境配置到内存级排错

C/C++嵌入式调试是嵌入式开发的核心能力,其本质依赖于编译器生成的调试符号、调试器(如GDB/LLDB)对DWARF信息的解析,以及调试协议(Debug Adapter Protocol, DAP)在IDE与后端工具间的标准化通信。掌握调试符号生成(-g)、路径映射(-fdebug-prefix-map)、跨平台工具链配置(arm-none-eabi-gdb)等关键技术,可显著提升裸机与RTOS场景下的问题定位效率。典型应用场景包括STM32固件调试、FreeRTOS任务状态分析、SPI/CAN外设寄存器

weixin_33892359的博客 188

Ext.Ajax.request和form.getForm().submit的区别

在实际开发工作中,发现后台总是无法获取到上传的File文件。后来反复比较代码才终于找到区别,原来将Ext.Ajax.request换成form.getForm().submit 就可以实现文件上传的功能了,百度后恍然,原因如下:         Request方法必须将要提交的参数手动组织好然后作为名为params的参数的值才能提交到服务器,而submit方法会将表单内所有input元素组织好

u011215811的博客 510
上一篇: Extjs tree 的简单增删改查
下一篇: Extjs 3.x常用属性和方法
寒小二
博客等级 码龄16年 9粉丝 4原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值