Javascript:如何在ajax“success”函数中创建变量?

时间:2013-03-23 11:38:28

标签: ajax json variables

$(document).ready(function() {
          $.ajax({
              url: 'objects.php',
              type:'GET',
              dataType: 'json',
              success: function(response)
               var variable = [some_array];

      //how to create an variable containing json array and access this variable outside?
                }
           });
      }); alert(variable);

为什么这不起作用?我闻到了一些范围问题...

谢谢。

1 个答案:

答案 0 :(得分:0)

首先,请允许我说,在回调中更改全局变量不是最佳选择。您应该在回调中触发所有副作用。如果你避免通过全局状态相互影响回调,你会发现你的代码是很多更容易推理和调试。

那就是说,如果你想要两个函数来“共享”一个变量,只需将它声明到两个都可以看到的位置。

var x = 0; // Declaring this in an outer scope makes f1 and f2 share it.

function f1() {
    x = 1
}

function f2() {
    console.log(x)
}

f1();
f2(); // Prints '1'

导致此行为的功能是closures