Угловые 11 HttpClient общие наблюдаемые значения картографического сервиса в класс

#node.js #angular #observable #httpclient #subscribe

#node.js #angular #наблюдаемый #httpclient #Подписка

Вопрос:

Я использую службу POST в .net, которая возвращает следующую структуру, служба возвращает данные правильно

введите описание изображения здесь

 public sendExcelInBase64ToBackEnd(data: any) {
    this.customOptions = {
        headers: this.customHttp.buildHeader(),
    };

    this.customHttp.Post<SerialResultDTO>('/serialsExcel', data, this.customOptions).subscribe(val => { // <- val data returns ok
        this.serialResult = val;
        let x = this.serialResult.Success;
        console.log(x);
        console.log(val.Success); // <- prints undefined
    })
    
    return null;
}
 

Когда я пытаюсь напечатать в консоли ‘val.Успех «он печатает неопределенный!!Почему это происходит??

Я хочу присвоить все атрибуты пользовательскому классу в angular, но в chrome debug он показывает данные объекта, но во время привязки к моему классу модели он становится неопределенным!!

Кто-нибудь может мне помочь, пожалуйста!! Я ценю это!!

Комментарии:

1. Привет, Крис, у тебя val есть Success собственность? Он попытается сериализовать его SerialResultDTO таким образом, чтобы у Success него было свойство.

2. Привет, Джон, да, SerialResultDTO имеет свойство Success , но ошибка заключалась в написании, служба http возвращает в нижнем регистре, как говорит moxximanagarm.

Ответ №1:

Ваше изображение показывает success нижний регистр , но вы пытаетесь зарегистрировать Success заголовок . Изменить на

 public sendExcelInBase64ToBackEnd(data: any) {
    this.customOptions = {
        headers: this.customHttp.buildHeader(),
    };

    this.customHttp.Post<SerialResultDTO>('/serialsExcel', data, this.customOptions).subscribe(val => {
        this.serialResult = val;
        let x = this.serialResult.success;
        console.log(x);
        console.log(val.success);
    })
    
    return null;
}
 

Комментарии:

1. Благодаря moxximanagarm ваши данные верны, служба возвращает в нижнем регистре, я изменил его, и теперь он работает!!!

2. Привет @Chris. R. , рад, что вы получили необходимый ответ, возможно, вы захотите пометить ответ как принятый и / или проголосовать за него?. Это побудит других выделять больше времени для ответов на вопросы и помощи друг другу.