1
Ext.Ajax.request({
            url: 'a/b/c',
        success: function(response)
                {
                   var result = Ext.decode(response.responseText);
             if((result.a)==1)                            
              {
                 var value = result.a;
             }

                }
     });

「値」が必要な場合は、ゴルバル変数になります。どのようにできるのか ?(追記:申し訳ありませんが、私の英語は上手ではありません)

4

2 に答える 2

0

をグローバル変数として宣言し、success関数でresult.aを割り当てることができると思います。

  var value;
  Ext.Ajax.request({
    url: 'a/b/c',
    success: function(response)
    {
          var result = Ext.decode(response.responseText);
          if((result.a)==1)                            
          {
             value = result.a;
          }

    }
  });
于 2012-11-14T07:12:14.780 に答える
0

の答えtaoxは正しいですが、なぜそれが機能しないのかを説明します。

リクエストが行われた後、変数にアクセスしていることを確認してください。リクエストは非同期で行われることに注意してください。

var value;
Ext.Ajax.request({
    url: 'a/b/c',
    success: function(response){
          var result = Ext.decode(response.responseText);
          if((result.a)==1){
             value = result.a;
          }
    },
    callback: function(opt, succes, response){
        console.log(value); //value is now set
    }
});
console.log(value); //value isn't set

編集:

Javascriptでグローバル変数を作成するには:

<script type="text/javascript">
  var myValue = 'A1rPun'; //define variable
  function getValue()
  {
      console.log(myValue) //outputs "A1rPun"
      console.log(window.myValue) //outputs "A1rPun" (window is the topmost parent AKA global scope)
  }
</script>
于 2012-11-14T08:38:12.370 に答える