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;
             }

                }
     });

如果我想让“价值”成为我的目标变量。我能怎么做 ?(PS:对不起,我的英文不好)

4

2 回答 2

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 回答
0

我认为您可以将value声明为全局变量,然后在您的成功函数中将 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 回答