Кажется, что-то не так с неопределенной проверкой перед вашим вторым вызовом ajax. Вероятно, он должен читать apiData != undefined
, но у вас есть apiData = ! undefined
. Это фактически устанавливает apiData
в !undefined
, что соответствует истине. Если вы успешно получили apiData
, эти данные будут потеряны, и любая последующая попытка получить доступ к чему-либо не удастся.
var apiData = {"item": {"id": 123}};
console.assert(apiData.item.id == 123);
console.assert(apiData != undefined);
apiData = ! undefined;
console.log(apiData);
console.assert(apiData.item.id == 123);
Вполне возможно, что первый ajax-вызов не удался из-за несанкционированного доступа, и apiData в любом случае не определен.