首页 > 解决方案 > 基于数组键的访问值

问题描述

我有一个 Ajax 调用,它返回一个 JSON 响应,我正在使用数组加载响应

var results = { 
    "appointmentrequired": {"name": "Appointment Required?"},
};

success: function(data) {
    $.each(results, function(key, value) {
        // show results from `data` here
    });
}

但我不确定如何访问数组循环内的结果。

我试过了

console.log(data[key]);
console.log(data.key);

但两者都返回undefined

标签: jqueryajax

解决方案


如果你们console.log()俩都key应该value能够看到提供给函数参数的内容。

因此,要么 要么data[key].namevalue.name你需要的。

// mock AJAX response data
var data = {
  "appointmentrequired": {
    "name": "Appointment Required?"
  },
};

// in AJAX response handler
$.each(data, function(key, value) {
  console.log('key:', key)
  console.log('value:', value);

  console.log('Name from key:', data[key].name);
  console.log('Name from value:', value.name);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


推荐阅读