0

DataStore から値を取得し、アラート ウィンドウにその値を表示するグローバル変数を宣言したいと思います。

var params = 1;

var storeTeacher = new Ext.data.JsonStore({
       id: 'IDstoreTeacher',
       url: 'school.php',
       method: 'POST',
       baseParams:{task: "LABEL",
                   parametar: params},
       root: 'rows',
       fields: 
              [{name: 'NameT', type: 'string', mapping: 'Teacher_name'}],
       autoLoad: true   
    });

var TeacherName;

storeTeacher.load({ 
       scope: this, 
       callback: function (records, operation, success) { 
                   TeacherName = storeTeacher.getAt(0).get('NameT');
              }
});


alert(TeacherName);

しかし、私が得る唯一のものは、次のような警告ウィンドウです:未定義

4

1 に答える 1

0

コールalert(TeacherName);バックのコールバックが実行される前に、コールがstoreTeacher.load実行されています。

をコールバック関数に入れるとalert(TeacherName)、TeacherName が適切に入力され、アラートに正しく表示されます。

storeTeacher.load({
    scope: this,         
    callback: function (records, operation, success) {                     
        TeacherName = storeTeacher.getAt(0).get('NameT');
        alert(TeacherName);   
} }); 

この動作は予期されたものです。

于 2012-07-16T12:44:23.463 に答える