我有一个来自 ldap_search() 调用的漂亮嵌套 JSON。我想使用这些信息来填充 ExtJS ComboBox,但我在读者方面遇到了一些麻烦。显然,我无法在组合框中读取我需要的信息,即人员的邮件地址、uid 和 cn
我认为整个问题都出在商店上。我正在尝试以下代码:
var store= new Ext.data.JsonStore({
url:'search.php',
root: '',
totalProperty: 'count',
fields: [
{name:'cn', type: 'string', mapping:'cn.0'},
{name:'mail', type: 'string', mapping:'mail.0'},
{name:'uid', type: 'string', mapping:'uid.0'}
]
});
但FireBug告诉我missing ; before statement return obj.cn.0 in ext-all.js (line 7)
。我尝试了另一个更简单的 JSON 数组,它可以工作,这就是为什么我真的认为问题出在这部分代码中,尤其是在映射中。
search.php 返回的 JSON 示例如下:
{
"count": 2,
"0": {
"mail": {
"count": 1,
"0": "Mail address not registered."
},
"0": "mail",
"uid": {
"count": 1,
"0": "[email protected]"
},
"1": "uid",
"cn": {
"count": 1,
"0": "Surname0 Name0"
},
"2": "cn",
"count": 3,
"dn": "cn=Surname0 Name0,ou=personal,dc=domain,dc=com"
},
"1": {
"mail": {
"count": 1,
"0": "[email protected]"
},
"0": "mail",
"uid": {
"count": 1,
"0": "name1.surname1"
},
"1": "uid",
"cn": {
"count": 1,
"0": "Surname 1 Name 1"
},
"2": "cn",
"count": 3,
"dn": "cn=Surname1 Name1,ou=personal,dc=domain,dc=com"
}
}
谢谢你的时间。