0

json から extjs アプリの var に 1 つの値をロードしたいと考えています。json出力は次のようになります

{"rechten":[{"name":"baas"}]}

店舗で使用したい場合、何をすべきかはわかっていますが、以前はグリッドにのみ使用していました。このようなvarが欲しい

 var rechten = "baas";

だから私はこれを別のものにチェックすることができます:

if(rechten == "baas") { alert('je bent de baas') } 
else { alert('helaas je bent arbeider')};

私の質問は、このif elseステートメントでそのjsonから名前の値を確認するにはどうすればよいですか?

4

3 に答える 3

2

データをストア (例: store.load()) にロードしてから、標準のストア メソッド (例: store.getAt() ) を介して値を確認できます。

または、 Ext.AjaxExt.JSONを使用すると、次のようになります。

Ext.Ajax.request({
url: 'someurl',
    success: function(response){
         var decoded = Ext.JSON.decode(response.responseText);
         console.log(decoded.rechten.name);
    }
});  

2 番目の方法は、必要なモデル/ストア宣言をスキップし、EXTJS MVC データの概念から外れますが、迅速かつ簡単なデータ処理を使用するには問題ありません。

于 2012-07-13T12:35:33.057 に答える
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);        
    }
});
于 2012-07-13T12:30:24.763 に答える
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);
   }
});
于 2012-07-13T12:23:38.997 に答える