我在名为data
的变量中返回了以下JSON
[
{"Id": 10004, "HEAD_NAME": "avcc"},
{"Id": 10040, "HEAD_NAME": "tyiiio jj"},
{"Id": 10059, "HEAD_NAME": "errr"}
]
我正在尝试使用$.each
遍历整个集合,但是遇到了警报显示未定义的问题。
var url = "<?= base_url(); ?>report/get_value";
var data_sent = {'tab_value': tab_value};
$.post(url, data_sent, function(data) {
//console.log(data);
$.each(data, function(i, item) {
console.log("Head value : "+item.HEAD_NAME);
});
});
解决方案:添加eval(data)
修改后的代码:
$.each(eval(data.replace(/[\r\n]/, "")), function(i, item) {
console.log("Head value : "+item.head);return false;
});
答案 0 :(得分:1)
问题是因为您要返回的数据结构中没有result
数组。您还可以使用在item
处理函数中定义的$.each()
参数访问迭代中的对象。试试这个:
var data = [
{ "Id": 10004, "HEAD_NAME": "avcc" },
{ "Id": 10040, "HEAD_NAME": "tyiiio jj" },
{ "Id": 10059, "HEAD_NAME": "errr" }
]
// inside the $.post callback:
$.each(data, function(i, item) {
console.log("Head value : " + item.HEAD_NAME);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
还请注意,您不需要jQuery即可遍历数组。您可以改为使用本机forEach()
方法,如下所示:
var data = [
{ "Id": 10004, "HEAD_NAME": "avcc" },
{ "Id": 10040, "HEAD_NAME": "tyiiio jj" },
{ "Id": 10059, "HEAD_NAME": "errr" }
]
data.forEach(function(item) {
console.log("Head value : " + item.HEAD_NAME);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
答案 1 :(得分:1)
.fetchall()
更新您的foreach循环以使其如下所示
答案 2 :(得分:0)
您的json中没有节点“结果”。将data.result
更改为data
,它将解决您的问题
var data = [
{"Id": 10004, "HEAD_NAME": "avcc"},
{"Id": 10040, "HEAD_NAME": "tyiiio jj"},
{"Id": 10059, "HEAD_NAME": "errr"}
];
// console.log(data);
$.each(data, function(i, item) {
console.log("Head value : " + data[i].HEAD_NAME);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
您也可以使用item
代替data[i]
var data = [
{"Id": 10004, "HEAD_NAME": "avcc"},
{"Id": 10040, "HEAD_NAME": "tyiiio jj"},
{"Id": 10059, "HEAD_NAME": "errr"}
];
// console.log(data);
$.each(data, function(i, item) {
console.log("Head value : " + item.HEAD_NAME);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>