我想将一个值从json加载到extjs应用程序中的var中。 json输出看起来像这样
{"rechten":[{"name":"baas"}]}
如果我想在商店中使用它,我知道该怎么做,但我之前只使用它。我想要像这样的
var rechten = "baas";
所以我可以将其检查成其他内容:
if(rechten == "baas") { alert('je bent de baas') }
else { alert('helaas je bent arbeider')};
所以我的问题是如何在这个if else语句中检查json中的名称值?
答案 0 :(得分:2)
您可以将数据加载到商店(例如store.load()),然后通过标准商店方法检查值(例如store.getAt())。
或者你可以使用Ext.Ajax和Ext.JSON它看起来像这样
Ext.Ajax.request({
url: 'someurl',
success: function(response){
var decoded = Ext.JSON.decode(response.responseText);
console.log(decoded.rechten.name);
}
});
第二种方法将跳过所需的模型/商店声明,并且将超出EXTJS MVC数据概念,但是为了快速简便的数据处理应该可以使用。
答案 1 :(得分:1)
Ext.Ajax.request({
url: 'your_url_here',
success: function(response, opts) {
var o = Ext.decode(response.responseText);
alert(o.rechten[0].name); // alerts "baas"
},
failure: function(response, opts) {
console.log('server-side failure with status code ' + response.status);
}
});
答案 2 :(得分:1)
如果您的json字符串来自名为page-with-rechten.xyz的文件,则此代码段可以调用该文件,然后解码创建JavaScript对象的文本,然后您可以使用该属性。
您可以在控制台中检查rechten对象,然后添加其他逻辑
Ext.Ajax.request({
url: './page-with-rechten.xyz',
success: function(response){
var text,
rechten;
text = response.responseText;
console.log('response text: ', text);
rechten = Ext.decode(text);
console.log('rechten object: ', rechten);
}
});