Jquery 基于数组键的访问值
我有一个Ajax调用,它返回一个JSON响应,我正在使用一个数组加载响应Jquery 基于数组键的访问值,jquery,ajax,Jquery,Ajax,我有一个Ajax调用,它返回一个JSON响应,我正在使用一个数组加载响应 var results = { "appointmentrequired": {"name": "Appointment Required?"}, }; success: function(data) { $.each(results, function(key, value) { // show results from `data` here }); } 但我不确定如何访问
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);
但两者都返回未定义的
$。每个
都在数组上运行
您想探索
let keysArr=Object.keys(data)
您需要迭代从api返回的数据,而不是结果:
success: function(data) {
$.each(data, function(key, value) {
console.log(key, value) // appointmentrequired {name: "Appointment Required?"}
});
}
如果您console.log()
同时使用key
和value
,您应该能够看到函数参数提供了什么
因此,您需要的是data[key].name
或value.name
//模拟AJAX响应数据
风险值数据={
“需要任命”:{
“姓名”:“是否需要预约?”
},
};
//在AJAX响应处理程序中
$。每个(数据、函数(键、值){
console.log('key:',key)
console.log('value:',value);
console.log('Name from key:',data[key].Name);
log('Name from value:',value.Name);
});代码>
jQuery文档中的
:“jQuery.each(array,callback):一个通用迭代器函数,可用于无缝迭代对象和数组。”我想迭代结果数组以显示其中的所有信息,然后查找数据是否返回值-如果返回,则显示,如果不只是显示“-”@charlie您的结果中没有显示数组
对象我正在尝试从我的ajax请求中的数据
中检索值OK,因此将结果
更改为数据
。我是这样做的,因此它在您问题中给出的示例代码段中起作用。因此,这意味着我需要使用data[key]
从ajax请求中检索值,并在results
中输入关键字。在这种情况下,您可能在某个地方输入了错误,或者响应的格式与您期望的格式不同。考虑到您在问题中提供的数据结构,这可以很好地工作,如代码段中所示。如果它不适用于您,请编辑问题,以提供更准确的代码示例和响应。如果Iconsole.log(数据[“appointmentrequired”])代码>我没有定义。我的JSON响应看起来像{“appointmentrequired”:“yes”}