`
ForgetLove
  • 浏览: 23509 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

ajax的同步/异步请求,以及extjs4中如何在model中实现两张无外键关联表的查询操作

阅读更多

首先,讲下同步和异步的区别。

其实之前我也是很模糊的,现在似乎明白了,下面说下我的理解。

首先,说异步的好了。

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请求外面alertjszz),但是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'} 

    ]

分享到:
评论

相关推荐

    extjs3.0 ajax 同步请求

    extjs3.0 ajax 同步请求

    extjs ajax同步请求所需js

    extjs ajax同步请求所需js extjs ajax同步请求所需js

    ExtJs异步请求和特殊用途

    资料中有关于ajax框架中的Extjs框架的详细解释,异步请求和响应,以及一些特殊的用途.

    ExtJs Ajax 同步问题

    NULL 博文链接:https://rayln.iteye.com/blog/1484628

    ExtJS4中文教程2 开发笔记 chm

    在Extjs4应用中使用Ext.Loader ======================================= 11条jquery常用技巧和方法整理列表 8个超棒的学习jQuery的网站 JQuery 1.5 getJSON 的使用 JQuery AJAX提交中文乱码的解决方案 Jquery css...

    extjs中ajax的实现源码

    extjs中ajax网页无刷新与后台交互的代码实现,使用javascript开发的可以参照学习。。

    extjs4中文视频下载地址

    extjs4.0 技术中文视频讲解,内容非常的全,而且讲的也不错,这是第一部分,里面有下载地址 可用迅雷下载。 第一讲:extjs4.0概述和HELLO WORD程序 第二讲:extjs4.0的新特性 第三讲:extjs4.0数据模型--Model 第...

    spket-1.6.18——Javascript/Ajax/ExtJS开发插件

    spket-1.6.18——Javascript/Ajax/ExtJS开发插件 这款插件主要用于为JavaScript开发的用户提供支持,方便开发人员快速进行开发。 spket-1.2以后的版本好像是收费的,本资源已破解,所以您无需为使用的期限而担忧了。

    Extjs4树结构异步加载

    extjs4,当点击左边的树,右边会生成相应的面板,代码精简,欢迎大家来学习,有问题可以直接交流。

    extjs4 中文 API

    extjs4 中文 API

    ExtJS构造动态异步加载

    AJAX: 以JSON数据格式,使用ExtJS构造动态异步加载的树。

    Extjs+Struts2实现异步文件上传

    网上有些这样的例子,但是下了几个都没有跑起来,哎,希望那些发文章的人要发就发全的,别发个半生不熟的。... 现在自己整理了一个Struts2+ExtJS2实现文异步文件上传,没法上传图片无法看到效果,直接上源码吧。

    extjs4中文文档

    extjs4中文文档 真正的4.0的中文文档。 非常难得。

    extjs中文教程 ajax

    ext extjs ajax java 中文教程 ext extjs ajax java 中文教程

    ExtJS的.NET控件_YuiGrid(数据绑定.同步_异步取值)

    描述了YuiGrid服务端的数据绑定,包括同步,异步取值.

    extjs异步树,多选树,json数据机构,集成spring,struts例子

    extjs异步树,多选树,json数据机构,集成spring,struts例子,extjs异步树,多选树,json数据机构,集成spring,struts例子,extjs异步树,多选树,json数据机构,集成spring,struts例子,extjs异步树,多选树,json...

    EXTJS4自学手册

    EXTJS4自学手册——EXT数据结构组件(创建一个Model) EXTJS4自学手册——EXT数据结构组件(Model数据验证,数据交互) EXTJS4自学手册——EXT数据结构组件 EXTJS4自学手册——EXT数据结构组件(proxy代理类之客户端...

    ExtJs 4 API中文

    ExtJs 4 API 中文

    ExtJs4.1.1a 异步树&级联选择

    说明:本例主要实现在树节点数据过多的情况下对数据进行异步请求,并且在请求数据返回前台的同时实现级联选择。使用ExtJs版本为4.1.1a,在struts2下测试通过。例子仅供提供思路,简单易懂,不负责代码优化,哈哈!

    extjs4 最新中文API

    最新的extjs4 中文api,学习者的好帮手。

Global site tag (gtag.js) - Google Analytics