从外部JSON文件创建javascript变量
我需要创建一个javascript变量,该变量的作用与我硬编码时相同从外部JSON文件创建javascript变量,javascript,json,d3.js,Javascript,Json,D3.js,我需要创建一个javascript变量,该变量的作用与我硬编码时相同 var test = [{"first" : "second"}]; 等等。但是,我需要从外部的local.json文件加载数据,并将该数据设置为变量。我做了很多不同的尝试,比如 var test; jQuery.ajax({ 'async': false, 'global': false, 'url': "sequence.json", 'dataType':
var test = [{"first" : "second"}];
等等。但是,我需要从外部的local.json文件加载数据,并将该数据设置为变量。我做了很多不同的尝试,比如
var test;
jQuery.ajax({
'async': false,
'global': false,
'url': "sequence.json",
'dataType': "json",
'success': function (data) {
test = data;
}
});
但是,在所有情况下,原始测试变量都不会被设置为硬编码为JSON对象。通常,我甚至无法设置test的值。如果您的ajax响应类似于data=[{“first”:“second”},那么什么是解决这个问题的好方法;然后你可以得到你的价值如下。但是json格式是不同的,那么您必须首先指定您的格式
var test;
jQuery.ajax({
'async': false,
'global': false,
'url': "sequence.json",
'dataType': "json",
'success': function (data) {
data = [{"first" : "second"}];
test = data;
for(var i in test){
console.log(test[i].first);
alert(data[i]);
}
}
});
您能否在
success
回调中设置断点,并查看ajax调用是否调用它?这应该可以工作。请记住,在加载数据之前,test
为空。因此,如果在调用success
之前,您正在console.log
ing它–或者运行依赖它的任何代码–则会得到null。