【发布时间】:2014-09-17 06:30:28
【问题描述】:
以下脚本返回 2 个警报(F3 和 S1)。 我需要 4 个警报(F1、F2、F3 和 S1)——这是所有服务的主机名。
我猜每个函数都在创建一个不包含双峰的数组 - 所以它只给我一个 - 最后一个 F3。
如何获得所有服务的host_names?我无法更改输入数据。
脚本:
<script>
$(function () {
var status = [];
$.ajaxSetup({
cache: false
});
$.getJSON('status.php', function (data) {
$.each(data.services, function (i, f) {
alert(f.host_name);
});
});
});
</script>
来自 status.php 的输出:
{
"hosts": {
"modified_host": "0",
"modified_serv": "0"
},
"services": {
"HTTPS": {
"host_name": "F1",
"service_description": "HTTPS"
},
"HTTPS": {
"host_name": "F2",
"service_description": "HTTPS"
},
"HTTPS": {
"host_name": "F3",
"service_description": "HTTPS"
},
"HTTP": {
"host_name": "S1",
"service_description": "HTTP"
}
}
}
【问题讨论】:
-
服务应该存储为一个数组。像在您的代码中一样存储,您最终将只得到 2 项服务,其中密钥为
HTTPS(仅声明的最后一项)和HTTP
标签: javascript getjson each