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 】
相关推荐:
如何快速搭建虚拟主机网站?新手必看指南
如何用VPS主机快速搭建个人网站?
Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例
魔方云NAT建站如何实现端口转发?
Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理
如何选择PHP开源工具快速搭建网站?
浅谈Javascript中的Label语句
Laravel路由怎么定义_Laravel核心路由系统完全入门指南
Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程
HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】
晋江文学城电脑版官网 晋江文学城网页版直接进入
Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧
免费视频制作网站,更新又快又好的免费电影网站?
Laravel Docker环境搭建教程_Laravel Sail使用指南
Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】
清除minerd进程的简单方法
最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?
悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音
如何快速搭建支持数据库操作的智能建站平台?
如何在云主机上快速搭建多站点网站?
网站优化排名时,需要考虑哪些问题呢?
zabbix利用python脚本发送报警邮件的方法
详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)
java获取注册ip实例
Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】
利用 Google AI 进行 YouTube 视频 SEO 描述优化
Laravel如何创建自定义中间件?(Middleware代码示例)
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】
如何在服务器上三步完成建站并提升流量?
历史网站制作软件,华为如何找回被删除的网站?
南京网站制作费用,南京远驱官方网站?
Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】
Laravel如何操作JSON类型的数据库字段?(Eloquent示例)
*服务器网站为何频现安全漏洞?
C++时间戳转换成日期时间的步骤和示例代码
焦点电影公司作品,电影焦点结局是什么?
简单实现jsp分页
Mybatis 中的insertOrUpdate操作
阿里云高弹*务器配置方案|支持分布式架构与多节点部署
如何基于云服务器快速搭建个人网站?
laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法
如何快速重置建站主机并恢复默认配置?
Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】
Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全
阿里云网站搭建费用解析:服务器价格与建站成本优化指南
Laravel如何使用Facades(门面)及其工作原理_Laravel门面模式与底层机制
高端智能建站公司优选:品牌定制与SEO优化一站式服务
浅析上传头像示例及其注意事项
Laravel怎么导出Excel文件_Laravel Excel插件使用教程

