$(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);
为什么这不起作用?我闻到了一些范围问题...
谢谢。
答案 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。