【发布时间】:2017-05-25 02:37:23
【问题描述】:
我有一个脚本,它读取一个 JSON 文件,然后用每个元素的 name 属性填充一个数组。
HTML
<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
<script>
var a = [];
var myMethod = function(){
$.ajax({
url : "numbers.json",
dataType : "json",
success : function(data){
for(i in data){
a.push(data[i].name);
}
}
});
}
myMethod();
console.log(a[2]); // console.log() returns "undefined"
</script>
JSON
[
{"name" : "One"},
{"name" : "Two"},
{"name" : "Three"},
{"name" : "Four"},
{"name" : "Five"}
]
我无法访问此数组的特定索引。控制台日志总是返回 undefined。我尝试在我的 ajax 调用之后添加 .then(),但它也不起作用。
【问题讨论】:
-
您的 console.log 在 ajax 请求完成之前正在运行。签入创建数组的ajax成功函数,你会得到它
-
number.json 中有什么?你能在这里发布虚拟数据吗?这样我就可以为你创建一个简单的代码 sn-p
-
JSON 已经给出
-
如果您设置 ajax 属性“async:false”,您的代码也可以工作
标签: javascript jquery json ajax