首先,讲下同步和异步的区别。
其实之前我也是很模糊的,现在似乎明白了,下面说下我的理解。
首先,说异步的好了。
var jszz = "";
Ext.Ajax.request({
',
params:{q_jgbh:jgid},
success:function(response){
var result = Ext.decode(response.responseText);
var data = result.data;
var d = data[0];
jszz = d.szz;//d.zz是返回的数据实体中的一个属性
}
});
alert(jszz);
在ajax请求外面声明一个jszz,初始值为空。然后发送ajax请求,在ajax里面为jszz重新赋值,然后在ajax请求外面alert(jszz),但是alert出来的值仍然为空,不会受jszz = d.szz;影响.因为是异步的,所以ajax发送请求的同时,alert不会等待ajax请求完成再执行。所以,异步请求无法得到请求里面的数据(值).
而同步就不同了。同步就像接力赛,下一位接力人员需要等待前面一位的人把棒子传给他(相当于等待ajax请求完成后),再继续进行下一个传棒动作。所以,同步请求可以得到请求里面的值。
Ok,下面就说一下如何设置同步/异步请求。
在request里面添加下面一行代码即可。
async:false, //同步为false
下面就分享一个extjs4中一个小例子
如图,查询的是一张表中的数据,这个序号列的值引用的是另一张表的中的值,现在,使用model中的convert方法和ajax同步请求,完成显示序号列序号数字变汉字。在数据库中这两张表是没有外键引用关系的。虽然序号是从那张表查出来的值。
分享代码......
extend: 'Ext.data.Model',
fields: [
{name: 'jgbh'},
{name: 'xh',convert:function(val){
var da = '';
Ext.Ajax.request({
async:false,//同步请求,以便进行赋值操作
method:'post',
'你的url',
params:{q_xh:val},//进行传参,以便进行查询相关数据
success:function(response){
var result = Ext.decode(response.responseText);
var data = result.data;
var d = data[0];
da = d.sm;
}
});
return da;//一定要返回,要不然就不会是另一张表的值了
}},
{name: 'szz'},
{name: 'zhy'},
{name: 'bz'}
]
相关推荐
通过Ajax技术,前端ExtJS组件可以异步与后端JSP/Java进行通信,实现无刷新的数据更新,提升用户体验。 9. **性能优化**: 为了提升系统性能,开发者可能考虑了缓存机制、数据库索引优化、减少HTTP请求次数等策略...
项目采用类似MVC(Model-View-Controller)的架构,页面使用ExtJS技术,结合AJAX实现异步通信。框架分为三层: 1. 页面层:使用ExtJS生成动态界面,提供用户交互。 2. 控制器层:处理用户请求,调用业务逻辑。 3. ...
3. **框架结构**:采用类似MVC的框架结构,页面使用ExtJS进行展示,同时包含AJAX技术以实现异步交互。业务层处理业务逻辑,数据库操作层负责与数据库的交互,控制器层协调各层工作。 4. **代码实现**:使用Java语言...
- **多联表**:涉及多个表之间的复杂关联,如一对多、多对多关系,需要理解外键、中间表的概念。 #### 排序算法 - **堆排序**:基于二叉堆数据结构的比较排序算法,分为建堆和调整堆两个阶段。 - **归并排序**:...
少儿编程scratch项目源代码文件案例素材-直升机飞行.zip
wanjunshe_Python-Tensorflow_12888_1745868924470
健康监测_Android开发_BLE蓝牙通信_心率数据采集与存储_基于小米手环2的实时心率监测应用_支持后台长时间运行的心率记录工具_可导出SQLite数据库的心率数据分析系统_适
少儿编程scratch项目源代码文件案例素材-种花模拟器.zip
嵌入式系统开发_FreeRTOS实时操作系统_STM32F103C8T6微控制器_OLED显示屏_DHT11温湿度传感器_多任务调度_多级菜单设计_万年历算法_电子闹钟功能_参数配
基于python实现的粒子群的VRP(车辆配送路径规划)问题建模求解+源码+项目文档+算法解析,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用,详情见md文档 算法设计的关键在于如何向表现较好的个体学习,标准粒子群算法引入惯性因子w、自我认知因子c1、社会认知因子c2分别作为自身、当代最优解和历史最优解的权重,指导粒子速度和位置的更新,这在求解函数极值问题时比较容易实现,而在VRP问题上,速度位置的更新则难以直接采用加权的方式进行,一个常见的方法是采用基于遗传算法交叉算子的混合型粒子群算法进行求解,这里采用顺序交叉算子,对惯性因子w、自我认知因子c1、社会认知因子c2则以w/(w+c1+c2),c1/(w+c1+c2),c2/(w+c1+c2)的概率接受粒子本身、当前最优解、全局最优解交叉的父代之一(即按概率选择其中一个作为父代,不加权)。 算法设计的关键在于如何向表现较好的个体学习,标准粒子群算法引入惯性因子w、自我认知因子c1、社会认知因子c2分别作为自身、当代最优解和历史最优解的权重,指导粒子速度和位置的更新,这在求解函数极值问题时比较容易实现,而在VRP问题上,速度位置的更新则难以直接采用加权的方式进行,一个常见的方法是采用基于遗传算法交叉算子的混合型粒子群算法进行求解,这里采用顺序交叉算子,对惯性因子w、自我认知因子c1、社会认知因子c2则以w/(w+c1+c2),c1/(w+c1+c2),c2/(w+c1+c2)的概率接受粒子本身、当前最优解、全局最优解交叉的父代之一(即按概率选择其中一个作为父代,不加权)。
scratch少儿编程逻辑思维游戏源码-猫猫粉碎.zip
scratch少儿编程逻辑思维游戏源码-蓝胡子.zip
scratch少儿编程逻辑思维游戏源码-美食大亨.zip
scratch少儿编程逻辑思维游戏源码-洛克人.zip
scratch少儿编程逻辑思维游戏源码-龙冲刺.zip
思幻个人引导页V2.2版本11月29日更新.zip
scratch少儿编程逻辑思维游戏源码-骑士风斩法.zip
移动应用开发_H5CSS3ionicng-cordovaMVVM模式_基于HTML5和CSS3技术实现多页面布局ionic指令数据绑定ui-route单页跳转调用手机
少儿编程scratch项目源代码文件案例素材-植物大战僵尸创造版 Ver. 1.0.3.zip
scratch少儿编程逻辑思维游戏源码-日落(2).zip