Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.02.2019, 13:00   #1
helpkz
Форумчанин
 
Регистрация: 23.03.2013
Сообщений: 160
По умолчанию Как обратиться к полям объекта?

Дан объект, как обратиться к полям объектам:

IntelliSense пишет: IntelliSense was unable to determine an accurate completion list for this expression. The provided list contains all identifiers in the file.
helpkz вне форума Ответить с цитированием
Старый 13.02.2019, 13:03   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

И? Чего вы от IntelliSense хотите? Он не телепат, мало ли что там вам прислать могли.

Так и обращаться, через точку или [""]
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 13.02.2019, 13:11   #3
helpkz
Форумчанин
 
Регистрация: 23.03.2013
Сообщений: 160
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
И? Чего вы от IntelliSense хотите? Он не телепат, мало ли что там вам прислать могли.

Так и обращаться, через точку или [""]
Не ругайтесь добрый человек, где надо прописать [""]?
Код:
evetsData[0]["USERID"]
так? Ошибка выходит
helpkz вне форума Ответить с цитированием
Старый 13.02.2019, 13:20   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Я ж сказал "или".
https://learn.javascript.ru/object

Смотря что где там лежит, на скриншоте непонятно от чего вывод.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 13.02.2019, 13:29   #5
helpkz
Форумчанин
 
Регистрация: 23.03.2013
Сообщений: 160
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Я ж сказал "или".
https://learn.javascript.ru/object

Смотря что где там лежит, на скриншоте непонятно от чего вывод.
Ни точка, ни кавычки не помогают. Вашу ссылку я смотрел. Там написано, когда есть свои созданные объекты. А их я получаю из JSON.



Uncaught TypeError: Cannot read property 'USERID'od undefined
helpkz вне форума Ответить с цитированием
Старый 13.02.2019, 13:34   #6
helpkz
Форумчанин
 
Регистрация: 23.03.2013
Сообщений: 160
По умолчанию

Забыл сказать, в функции AJAX поля появляются, в коде JavaScript они не появляются. Не могу понять
Код:
var eventsDataObjects;
var eventsData = new Object();

$.ajax({
    url: "/Form/GetCalendarData",
    type: "POST",

    success: function (data) {
        console.log(data);
        eventsDataObjects = JSON.parse(data);
        
        for (var i = 0; i < eventsDataObjects.length; i++)
            eventsData[i] = eventsDataObjects[i].USERID;
    }
});

document.getElementById('test').innerText = eventsData[0].USERID;
Последняя строчка не работает
helpkz вне форума Ответить с цитированием
Старый 13.02.2019, 13:37   #7
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

То у вас eventsData объект, то массив, то вы ему присваиваете число, то опять хотите объект... у числа USERID (который лежит в eventsData[0]) нет поля USERID.
p51x вне форума Ответить с цитированием
Старый 13.02.2019, 13:40   #8
helpkz
Форумчанин
 
Регистрация: 23.03.2013
Сообщений: 160
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
То у вас eventsData объект, то массив, то вы ему присваиваете число, то опять хотите объект... у числа USERID (который лежит в eventsData[0]) нет поля USERID.
Когда я спарсил JSON, то получил массив (Array). Создал переменную eventsData, чтобы перекинуть данные массива в объекты.
helpkz вне форума Ответить с цитированием
Старый 13.02.2019, 13:51   #9
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

Цитата:
Сообщение от helpkz Посмотреть сообщение
Создал переменную eventsData
Создали вы ее раньше, как объект.

Цитата:
Сообщение от helpkz Посмотреть сообщение
чтобы перекинуть данные массива в объекты.
Ну так создавайте массив
Код:
var eventsData = [];
Добавляйте в него объекты
Код:
eventsData.push(eventsDataObjects);
А уже потом обращайтесь к полям.
Или вообще копируйте массив
Код:
eventsData = eventsDataObjects.slice();
или
Код:
eventsData = [...eventsDataObjects];
p51x вне форума Ответить с цитированием
Старый 13.02.2019, 14:05   #10
helpkz
Форумчанин
 
Регистрация: 23.03.2013
Сообщений: 160
По умолчанию

Как обратиться к полям? Так и не получается. Они не выходят
helpkz вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Java] Создание объекта внутри объекта этогоже класса. Svarogich Помощь студентам 2 01.08.2011 16:03
Как обратиться к полям базового класса? Azartov Общие вопросы C/C++ 13 03.07.2011 20:32
CLR. Ошибка C3918. Как вызвать из объекта обработчик, переданный родителю объекта от деда? Stilet Общие вопросы .NET 0 15.01.2011 17:49
С помощью методов и свойств объекта осуществляется управление терминалом. Имя (идентификатор) объекта User>lia Общие вопросы Delphi 4 16.01.2009 16:37
Как поменять одну из текстур объекта не меняя все остальные и без повторной загрузки объекта в GLScene DomKr@t Мультимедиа в Delphi 0 14.12.2008 01:52