ExtJs异步无法向外传值和赋值的完美解决办法
发布时间 - 2026-01-11 01:52:18 点击率:次1、Ext.data.Store.load();方法是异步的,下面的方式获得的reCount始终是0,因为还没等后台的方法执行完就赋值了,此时store的record还没获得值。
var testStore = new Ext.data.GroupingStore({
proxy : new Ext.data.HttpProxy({
url : ''
}),
reader : new Ext.data.JsonReader({
root : 'hstamcx',
totalProperty : "results",
fields : ["id","value"]
})
});
Ext.onReady(function(){
Ext.QuickTips.init();
Ext.form.Field.prototype.msgTarget = 'side';
testStore.load ();
var reCount = testStore.getCount();
var port = new Ext.Viewport({
layout : 'auto',
frame : true,
items : [winKey]
});
});
2、如果想要对加载的值进行处理,必须将后续处理写在回调函数中。
Ext.onReady(function(){
Ext.QuickTips.init();
Ext.form.Field.prototype.msgTarget = 'side';
testStore.load({
callback : function(r, options, success) {
var reCount = testStore.getCount();
}
});
var port = new Ext.Viewport({
layout : 'auto',
frame : true,
items : [winKey]
});
});
此时可以获得reCount的值,并且callback : function(r, options, success)的r就是store加载查到的数据。
但依然存在问题:r的数据值只能在回调函数里面使用,在callback函数里既不能给外部的其他元素赋值,也没有办法将r数据传到外面去
3、如果想在js页面向后台发送请求,并在外面使用后台返回的数据值,可以使用Ext.Ajax.request,并将请求方式设置成同步,接收数据的变量要定义在Ext.Ajax.request外面
var cancelMode;
Ext.Ajax.request({
url: '',
method: 'post',
sync:true, //同步请求
success: function(response) {
var response = Ext.util.JSON.decode(response.responseText);
cancelMode = response.hstamcx[0].param_value;
}
});
此时就可以在外面使用Ext.Ajax.request的请求获得的数据了,比如alert(cancelMode );
后台代码示例:该示例是举个大概例子,并不是完整代码
public void getData(HttpServletResponse response){
TestData td = TestDataDao.getTestdata();
String message = "{name:" + td .getName()+ ",id:" + td.getId()+ "}";
PrintWriter out=response.getWriter();
out.write(message);
out.flush();
}
以上所述是小编给大家介绍的ExtJs异步无法向外传值和赋值的完美解决办法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# extjs
# 异步传值和赋值
# javascript引用赋值(地址传值)用法实例
# JavaScript给input的value赋值引发的关于基本类型值和引用类型值问题
# JavaScript对象引用与赋值实例详解
# JavaScript引用赋值与传值赋值总结
# 还没
# 回调
# 小编
# 加载
# 在此
# 并在
# 给大家
# 并将
# 没有办法
# 可以使用
# 能给
# 写在
# 可以获得
# 既不
# 解决办法
# 所述
# 给我留言
# 感谢大家
# 存在问题
# 就可以
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
公司网站制作需要多少钱,找人做公司网站需要多少钱?
如何在建站宝盒中设置产品搜索功能?
如何在建站之星网店版论坛获取技术支持?
JavaScript如何实现倒计时_时间函数如何精确控制
如何在橙子建站中快速调整背景颜色?
如何在阿里云通过域名搭建网站?
网站图片在线制作软件,怎么在图片上做链接?
小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?
Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】
Bootstrap CSS布局之列表
如何实现建站之星域名转发设置?
uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址
Laravel distinct去重查询_Laravel Eloquent去重方法
Laravel如何使用Telescope进行调试?(安装和使用教程)
EditPlus中的正则表达式 实战(4)
PythonWeb开发入门教程_Flask快速构建Web应用
PHP正则匹配日期和时间(时间戳转换)的实例代码
Python文本处理实践_日志清洗解析【指导】
网易LOFTER官网链接 老福特网页版登录地址
如何用已有域名快速搭建网站?
详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南
php中::能调用final静态方法吗_final修饰静态方法调用规则【解答】
html5的keygen标签为什么废弃_替代方案说明【解答】
Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用
Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】
海南网站制作公司有哪些,海口网是哪家的?
如何破解联通资金短缺导致的基站建设难题?
Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
javascript中对象的定义、使用以及对象和原型链操作小结
如何在阿里云虚拟服务器快速搭建网站?
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】
Laravel怎么使用Collection集合方法_Laravel数组操作高级函数pluck与map【手册】
MySQL查询结果复制到新表的方法(更新、插入)
简单实现Android验证码
专业商城网站制作公司有哪些,pi商城官网是哪个?
Laravel如何实现API速率限制?(Rate Limiting教程)
php打包exe后无法访问网络共享_共享权限设置方法【教程】
Laravel如何使用Service Container和依赖注入?(代码示例)
C#如何调用原生C++ COM对象详解
Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作
Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理
HTML 中动态设置元素 name 属性的正确语法详解
laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法
非常酷的网站设计制作软件,酷培ai教育官方网站?
javascript中的try catch异常捕获机制用法分析
ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】
Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】
javascript中数组(Array)对象和字符串(String)对象的常用方法总结

