【发布时间】:2019-02-17 22:24:34
【问题描述】:
我正在尝试从下面的对象中获取“错误”项:
{Id: 15, Date: "22-02-2019", Time: "22:45", Sport: "Football", Country: "United Kingdom", …}
Bet: "Win"
Bookie: "Bet365"
Competition: "Premier League"
Country: "United Kingdom"
Currency: "Euro"
Date: "22-02-2019"
Home: "Cardiff"
Id: 15
Odds: "1.45"
Sport: "Football"
Stake: "5.110"
Status: "Won"
Time: "22:45"
Visitor: ""
Εrrors: Array(2)
0: (2) ["date", Array(1)]
1: (2) ["visitor", Array(1)]
length: 2
__proto__: Array(0)
__proto__: Object
对象包含在对象数组中,作为对 api 端点的 ajax 调用的响应。
$.ajax({
type: "POST",
url: "/api/import",
headers: {"X-CSRFToken": Cookies.get('csrftoken')},
data: formData,
cache: false,
contentType: false,
processData: false,
success: function (res) {
....}
})
调用rowData["Date"] 或rowData["Time"] 会返回相应的值。
如果我这样做rowData["Errors"],我会得到undefined。我不知道是找不到 Errors 属性还是其他原因。
我需要获取错误,以便遍历它们并将它们显示在页面上。
我主要将 JS 用于 DOM 操作,这真的让我很难过。
这里的教训是要注意你的拼写,尤其是那些可能用英语和你的语言共享的字母。
【问题讨论】:
-
rowData{"Errors"]应该抛出一个SyntaxError,而不是返回undefined。请将minimal reproducible example 发布为文本,而不是图片(请勿发布代码图片) -
假设这是一个错字,您需要为代码提供一些上下文,例如,这是异步调用的结果吗?
-
Εrror的第一个字母是希腊语Ε,所以修复你的后端。 (投票结束是一个错字) -
@GabrielePetrioli 我也投票决定关闭。感谢您的简单但非常有用的观察。虽然,像 Python 中这样的 KeyError 会非常有用。
-
不客气,我也是希腊人,并以你的名字假设,所以认为这可能是一个问题..
标签: javascript arrays object ecmascript-6