【发布时间】:2019-02-08 14:17:11
【问题描述】:
我已经从控制器(通过 ajax)返回了 JSON 数据,并且想要访问这些数据。这是一个对象列表(数组):键值,所以我想使用 .each() 来访问所有数据。像这样的数组:
[{"filePath":"Desktop.zip","fileStatus":"Uploaded"},{"filePath":"Desktop\\dates.xml","fileStatus":"Uploaded"}]
代码是:
$.ajax({
url: '@Url.Action("GetFilesNames", "Home")',
type: 'POST',
success: function (data) {
$.each(data, function (value) {
console.log(value['filePath'], value['fileStatus']);
});
}
});
但是 data.each 值是未定义的。
所以我尝试 console.log 所有数据,json.stringify 它,解析它(但不知何故有错误),并解析 stringyfied 版本,但没有任何意义。即使我使用此字符串化版本(路径)或已解析的字符串化版本(listOfFiles)与 .each - 结果相同:未定义。
【问题讨论】:
-
在
success函数的顶部,data是一个数组。这就是你想要的。 不要尝试将其转换为 JSON(没有用)或 JSON(因为它不是 JSON)。 -
@Quentin 好的,我明白了。但是如果我有一个数组,那么我应该怎么做才能通过它的键获取数据值呢?为什么我的代码
$.each(data, function (value) { console.log(value['filePath'], value['fileStatus']); });不起作用?
标签: javascript json ajax