#javascript #jquery #ajax #visual-studio
#язык JavaScript #jquery #аякс #visual-studio
Вопрос:
У меня есть запрос AJAX следующего содержания:
$.ajax({ method: 'GET', url: '/api/some-data', headers: { 'Content-Type': 'application/json' }, success: function(data) { if (data != null) { var userData = data; for (var key of Object.keys(userData)) { if (userData[key].BalanceYear == null) { var accYear = "Today"; } else { var accYear = userData[key].BalanceYear; } // ETC, ETC, ETC
Это прекрасно работает. Однако, когда я объединяю его в Visual Studio, он преобразуется в:
$.ajax({ method: "GET", url: '/api/some-data', headers: { "Content-Type": "application/json" }, success: function(n) { var t, i, r, u, f, e; if (n != null) { t = n; for (i of Object.keys(t)) r = t[i].BalanceYear == null ? "Today" : t[i].BalanceYear, u = yearsArr.findIndex(n=gt;n === r), u === -1 amp;amp; (yearsArr.push(r), yearsArr.sort(function(n, t) { return n - t })); const o = new Map; for (const {AccountName: n, Amount: i, BalanceYear: t} of t) o.has(n) || o.set(n, yearsArr.map(()=gt;0)), f = t ? yearsArr.indexOf(t) : yearsArr.indexOf("Today"), o.get(n)[f] = i; function c(n, t) { return v(n) || a(n, t) || h(n, t) || l() } // ETC, ETC, ETC
Проблема, которую я получаю, заключается в том, что:
Ошибка неперехваченной ссылки: Не удается получить доступ к » t » до инициализации
на линии:
for (const {AccountName: n, Amount: i, BalanceYear: t} of t)
Поскольку у меня действительно нет контроля t
, я не знаю, что делать, чтобы исправить это, особенно то, что t
объявлено выше строки проблемы (я также пытался объявить t
вне функции AJAX).
Кто-нибудь знает, что я могу сделать, чтобы это исправить?
Комментарии:
1. Не могли бы вы поделиться своим кодом, который преобразован в проблемную строку?
Ответ №1:
Я обнаружил, что это произошло из const
-за того, что здесь
for (const {AccountName: n, Amount: i, BalanceYear: t} of t)
Я удалил его, и теперь он, кажется, работает. К сожалению, я не знаю логики, стоящей за этим.