gpt4 book ai didi

javascript - TypeError : data. forEach 不是函数

转载 作者:搜寻专家 更新时间:2023-10-31 22:24:19 24 4
gpt4 key购买 nike

这是我的代码:

$.ajax({
url: "some_url/",
type: "GET",
dataType: "json",
success: function(data){
console.log(data);
data.forEach(function(element){
console.log(element);
});
}
});

我得到的错误是 for each 对 data 变量不起作用。但是,当我将 data 记录到控制台时,我得到了

[{"model": "app.mdl", "pk": 1, "fields": {"name": "test", "rank": 1}}]

这显然是一个数组并且是可迭代的,所以我不明白到底哪里出了问题。

编辑:data 通过 Django 中的 JsonResponse 返回。

最佳答案

我相信data 是一个 JSON 字符串。由于 forEach() 是一个数组函数,而您正试图在 JSON 字符串上实现它,它会抛出错误:

"Uncaught TypeError: data.forEach is not a function"

您必须使用 JSON.parse() 解析数据在使用 forEach() 之前:

The JSON.parse() method parses a JSON string, constructing the JavaScript value or object described by the string. An optional reviver function can be provided to perform a transformation on the resulting object before it is returned.

data = JSON.parse(data);

演示:

var data = JSON.stringify([{"model": "app.mdl", "pk": 1, "fields": {"name": "test", "rank": 1}}]);
data = JSON.parse(data);
data.forEach(function(element){
console.log(element);
});

所以成功应该是:

success: function(data){
data = JSON.parse(data);
console.log(data);
data.forEach(function(element){
console.log(element);
});
}

关于javascript - TypeError : data. forEach 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53275405/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com