this
для функции, объявленной как function
определяется в момент её вызова. Если её вызывают будто она свойство объекта, этот объект будет this'ом.this === window
.window
это не user
. И там нет искомого свойства, скорее всего. Или есть, но неожиданно другое. if (json.cod != 200) {
console.log(json);
throw new Error(json.cod + ' ' + json.message);
}