#html #angular #rest #http #get
#HTML #angular #rest #http #получить
Вопрос:
Привет всем, у меня проблема, я не могу выполнить итерацию ответа от http-запроса
users-list-interface.ts
export interface Corporativo {
id?: number,
S_NombreCorto?: string,
S_NombreCompleto?: string,
S_LogoURL?: string,
S_DBName?: string,
S_DBUsuario?: string,
S_SystemUrl?: string,
S_Activo?: number,
D_FechaIncorporacion?: string,
created_at?: string,
updated_at?: string,
tw_users_id?: number,
FK_Asignado_id?: number,
user_created?:
{
id?: number;
username?: string;
email?: string;
S_Nombre?: string;
S_Apellidos?: string;
S_FotoPerfilURL?: string;
S_Activo?: number;
verification_token?: string;
verified?: string;
tw_role_id?: number;
created_at?: string;
updated_at?: string;
deleted_at?: null;
},
asignado?:
{
id?: number;
username?: string;
email?: string;
S_Nombre?: string;
S_Apellidos?: string;
S_FotoPerfilURL?: string;
S_Activo?: number;
verification_token?: string;
verified?: string;
tw_role_id?: number;
created_at?: string;
updated_at?: string;
deleted_at?: null;
}
}
вот мой запрос на corporative-service.ts
import { Injectable } from '@angular/core';
import { environment } from '../../../environments/environment'
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { Observable } from 'rxjs'
import { Corporativo } from '../../user-list/users-list.interface';
@Injectable({
providedIn: 'root'
})
export class CorporativeService {
url = environment.apiURL
auth_token = 'Bearer ' localStorage.getItem('tokenscloud');
httpHeaders: HttpHeaders = new HttpHeaders({
'Content-Type': 'application/json',
Authorization: this.auth_token
});
constructor(private httpClient: HttpClient) { }
getAllCorporatives(): Observable<Corporativo []> {
return this.httpClient.get<Corporativo []>(this.url '/corporativos', { headers:this.httpHeaders })
}
вот мой компонент списка пользователей
rows : Corporativo [] = []
constructor(private corporativeService: CorporativeService) {
}
ngOnInit(): void {
this.getData();
}
getData() {
this.corporativeService.getAllCorporatives()
.subscribe(( response:Corporativo []) => {
console.log(this.rows);
this.rows = response
})
}
}
И в html я хочу сделать что-то вроде этого
<div class="col-12 col-sm-6 col-lg-3" *ngIf="rows">
<label for="users-list-status">Status</label>
<fieldset class="form-group">
<select id="users-list-status" class="form-control" disabled="true" >
<option value="" *ngFor="let corp of rows">{{corp.S_NombreCorto}}</option>
</select>
</fieldset>
</div>
деталь в том, что я получаю эту ошибку, но я не понимаю почему, я должен был получить массив с объектами, но я не могу понять, пожалуйста, если кто-нибудь может помочь, я буду очень благодарен
Комментарии:
1. Можете ли вы также опубликовать образцы данных?
2. Только массивы являются итеративными, поэтому вы получаете null или объект (peharfs в одном свойстве объекта — это искомый массив)
3. Я думаю
this.rows
, что это не массив, это объект, который не может быть итерирован, можете ли вы поделиться результатамиconsole.log(this.rows)