我在视图中的输出如下所示
Campaigns,Quotes,PurchaseOrder,SalesOrder,Calendar,Leads,Accounts
但我想逐行排列
Campaigns
Quotes
PurchaseOrder
SalesOrder
Calendar
Leads
Accounts
我的JSON文件
{"success":true,
"result":
{"types":
["Campaigns","Quotes","PurchaseOrder",
"SalesOrder","Calendar","Leads","Accounts]
}
}
我的模特
fields: [
{name: 'success', type: 'boolean'},
{name: 'types', type:'auto', mapping:'result.types'}
],
我的项目
itemTpl: '<tpl>{types}</tpl>',
我的商店
Ext.define(&#39; app1.store.mainmenustore&#39;,{
extend:&#39; Ext.data.Store&#39;,
要求:[&#39; Ext.data.proxy.SessionStorage&#39;,&#39; Ext.data.proxy.Ajax&#39;],
配置:
{
model:&#39; app1.model.mainmenumodel&#39;,
proxy:{
type:'ajax',
url:'http://192.168.50.118/crm/webservice.php?
sessionName=sessionId&operation=listtypes',
reader:{
type:'json'
},
extraParams:{
sessionName: sessionStorage.getItem('sessionid')
},
});
答案 0 :(得分:0)
您的问题是在json中返回数据的方式
[&#34;广告活动&#34;&#34;行情&#34;&#34;的PurchaseOrder&#34 ;, &#34; SalesOrder&#34;&#34;日历&#34;&#34;信息&#34;&#34;帐户&#34;]
它只是一个单一的记录,这就是为什么它在你的视图中显示为一行字符串。每个字符串值都需要包装在自己的数组或对象中。
所以要么是一个数组数组:
[["Campaigns"],["Quotes"],["PurchaseOrder"]...]
或者作为具有命名属性的正确JSON编码对象
[{type:"Campaigns"},{type:"Quotes"},{type:"PurchaseOrder"}...]
您的阅读器配置也应该将rootProperty设置为&#39; types&#39;所以它知道你的响应阻止数据开始的位置。