导航:首页 > 编程语言 > extjs5appjson

extjs5appjson

发布时间:2023-03-29 22:42:53

『壹』 本人extjs入门,现在正在学习用Extjs4,我想问一下extjs怎么接收解析json数据

JSON可以理解为JavaScript的对象序列化的字符串, 你看下JSON的内容, 会发现和代码中写的对象字面量基本一样, 所以使用eval方法即可将JSON转换为对象.
Ext仅仅是简单的封装eval方法, 以适应不同标准的JSON
源代码:
Ext.util.JSON.decode = function(json){
return eval('(' + json + ')');
};
你可以自己alert出来看

//示例
Ext.onReady(function() {
Ext.Ajax.request({
url: 'getmsg.action?user=1',
method: 'GET',
success: function(resp, options) {
//标准JSON字符串 '{"data": [{"msg":"abcd"}]}'
var jsonObj = Ext.util.JSON.decode(resp.responseText);
//显示模态提示框
Ext.Msg.alert('title', jsonObj.data[0].msg, function(btn){
//Ext的模态窗口仅仅是屏蔽操作, 并不阻塞线程, js也没有线程, 这点非常重要
//提示框的按钮事件回调
alert(btn); //后执行
});
alert(1); //先执行
}
//failure: function() {...} //可选的
});
});

Ext的ApiDoc做得非常好, 对学习有很大的帮助. 千万不要看一些所谓的中文版, 有很多机器翻译不说, 还有很多未校对的错误.

另: 学习ExtJS要掌握闭包的概念, 这个是js一个非常重要的特性, Ext使用该特性模拟了继承及封装, 在一定程度上实现了面向对象编程. 当然你也可以无视Ext的继承机制, 使用js本身的原型继承(prototype)

『贰』 extjs中JsonStore数据获取

var store=new Ext.data.JsonStore({ data:"这里是你保存数据的变量,本地数据", url:"如果是从服务端获得数据,则填写服务端地址回,如果是本地数据则答不需要此属性", field:["这里是字段的名如{name:"字段名"}"]});store.getAt("第几条数据").get("字段名") //获得data里的数据store.getCount() //获得数据总共有多少条store.getTotalCount() //获得TotalCount 至于获得 code、uesr 值,API里好象没有介绍

『叁』 ExtJS 解析json数据 动态创建grid表格

store 在ext里叫数据存储器,你上面写的太繁复,ext提供高级store


首先你要弄清楚这个过程:

store 的load函数会触发数据存储器根据httpProxy设定的url去请求数据,请求回来的数据,要用数据读取器Reader对象,比如用你的JsonReader,每一条数据对应一个Ext.data.Record对象,你第三个问题问reader里的数组有什么用,它是Ext.data.Record的简写,你可以把那个数组写成一下这样来代替你的那个数组,不过通常为了简单起见我们都写简写


varRecordTemplate=newExt.data.Record.create([
/*name对应的值就是存储在本条record中的key值,当你需要
*从某一条数据中取出某个字段是,你就必须用这个key
*/
{name:'firstname'},

/*上面说name对应的值你读取后的key索引值,那
*mapping对应的值就是你从后台请求回来的每一条数据元素中的一个key,
*意思就是,我从请求回来的数据中读取
*key为occupation的值存储在store中一条record的job索引key中
*/
{name:'job',mapping:'occupation'}
});



http proxy


1>.SimpleStore = Store + MemoryProxy + ArrayReader 用作读取静态本地数据

2>.JsonStore = Store + HttpProxy + JsonReader 用作读取后台json信息

vards=newExt.data.JsonStore(
{
url:"",//请求地址
paramNames:{arg0:0},//提交请求,附带的参数,通常你需要使用分页,排序,可以在这里
fields:["key"],//对应Reader里返回json对象中的每个key,在grid里也对应ColumnModel列模型中的dataIndex
});



2,返回的json数据必须有数量count这个变量吗?直接是条目的列表不行吗?

答:不用必须,这个count是完全自定义的,你需要分页工具条时,需要指定总共多少条数据,需要一个字段存储总条数数据,至于是count,还是total,只要和你后台返回的json中去取值时对应就可以了,分页工具条,会以count作为key在你请求回来的json去取值。这是一个前后和后台的约定字段,只要保持一致,起什么名字都无关。


直接是条目的列表是行的。其实 重要的你要理解 前台 和 后台 的约定,这不是说那一边行不行,你前台定义了什么样的格式来读,你后台就要提供什么样的数据,不然读不到数据,响应,你后台提供了什么样的数据格式,前台就要按照这个格式来读。 这是 一种约定,而数据格式是完全可以自定义的。那么你安装xml格式都可以。如果你使用的读取器前台控件规定了读取方式,那么你 后台返回的数据就要严格按照这种格式来组织。不然你后台返回的数据,前台不认识就无法读取,这是有严格逻辑的。

你可以把 root:"",totalRecords:"",id:;"" 这都都不要,后台返回的数据 是json Array,就是你说的条目列表就可以了。

『肆』 Extjs中将后台的array数据转换为Json格式怎么做,急求

你在后台时 直接转json 传到前台 本来就是 下面的这种格式了

你者并需要加一个首拦迹json包 然后直接衡局把array数组转为 json就可以了

『伍』 extjs json后台有数据,到前台就显示undefined,是怎么回事

alert(response)看下有没有得到值!评论里面写不了代码,我修改下答案作为回复:回

你打印一下console.log(response)这个看下,答是不是就是你相面写下来的对象{"message":"操作成功!","fileName":"QQ截图20131111083729.png","success":true}这个,如果是的话,剩下的你自己就知道了吧!我估计extjs把返回的东西已经是处理过了,不用.responseText做处理!

『陆』 extjs有没有把字符串转换成json数据的方法

有的,extjs 可以野困使用 Ext.util.JSON.decode(字颂源念符裂者串) 的方式,将符合JSON规则的字符串,转换为 json对象。
Ext.util.JSON.decode 可以使用缩写 Ext.decode 代替,更为简洁。

『柒』 Extjs ajax返回的json数组 赋值给table

首先,Ajax请求数据,(用的是Jquery的Ajax)

复制代码 代码如下:

<script>
$(function(){
$('#test').click(function(){
$.ajax({
url:'__APP__/Article/jsonTest',
type:'post',
success:function(data){
var item;
$.each(data,function(i,result){
item
=
"<tr><td>"+result['num']+"</td><td>"+result['title']+"<
/td><td>"+result['credate']+"</td><td>操作<
/td></tr>";
$('.table').append(item);
});
}
})
})
});
</script>

后台处理请求,返回Json格式数据(用的是Thinkphp返回)

复制代码 代码如下:

$list = $File->group('num')->order('id desc')->limit($Page->firstRow.','.$Page->listRows)->select();
$this->ajaxReturn($list,'JSON');

html部分

复制代码 代码如下:

<table class="table table-striped table-bordered table-condensed">
<tr><th>编号</th><th>名称</th><th>创建时间</th><th>操作</th></tr>
</table>

『捌』 extjs 5.0 要如何拼写json才能被treeStore动态读取

后台是什么氏行烂语言?只要定义一个类似的类结构。
class A {
string id;
string url;
int parent_id;
bool leaf;
string iconCls;
string text;
List<A> children;
}.从数据库中读出带做数据生成这个类,用Json()返回就可以歼漏

『玖』 ExtJS的读取JSON数据读不到

第一、查看你的json是否正确
第二、我的写法,请参考
var itemsPerPage = 50;
var store = Ext.create('Ext.data.Store', {
autoLoad: { start: 0, limit: itemsPerPage },
fields: ['ZWWLDW_DWBH', 'ZWWLDW_DWMC', 'ZWWLDW_DWMM', 'ZWWLDW_DWQX', 'ZWWLDW_DWBZ'],
pageSize: itemsPerPage,
proxy: {
type: 'ajax',
url: 'HandlerFun.ashx?Type=CMManager',
reader: {
type: 'json',
root: 'rows',
totalProperty: 'total'
}
}

});

如果放我这个还不行,等一下,我把grid那里也发给你,这个都是项目中的

阅读全文

与extjs5appjson相关的资料

热点内容
maya粒子表达式教程 浏览:84
抖音小视频如何挂app 浏览:283
cad怎么设置替补文件 浏览:790
win10启动文件是空的 浏览:397
jk网站有哪些 浏览:134
学编程和3d哪个更好 浏览:932
win10移动硬盘文件无法打开 浏览:385
文件名是乱码还删不掉 浏览:643
苹果键盘怎么打开任务管理器 浏览:437
手机桌面文件名字大全 浏览:334
tplink默认无线密码是多少 浏览:33
ipaddgm文件 浏览:99
lua语言编程用哪个平台 浏览:272
政采云如何导出pdf投标文件 浏览:529
php获取postjson数据 浏览:551
javatimetask 浏览:16
编程的话要什么证件 浏览:94
钱脉通微信多开 浏览:878
中学生学编程哪个培训机构好 浏览:852
荣耀路由TV设置文件共享错误 浏览:525

友情链接