J'ai besoin d'afficher les données sur le HTML que je reçois du service Web. Je suis en mesure de voir les données dans un format que je veux, mais je ne peux pas afficher correctement sur html. Je pense que -any- dans http.get est le problème. Je peux lire des données dans la console sans -any- mais cela fonctionne très bien avec. Quand cela fonctionne, il ne s'imprime pas correctement en HTML. Quelqu'un peut-il donner des conseils à ce sujet?http observable <any> - Angular 4
html
<div>{{this.res}}</div>
app.component.ts
import { Component, OnInit } from '@angular/core';
//import { IMovie } from './movie';
import { AppService } from './app.service';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit {
res: any[] ;
errorMessage: string;
constructor(private _appService: AppService) { }
ngOnInit(): void { this.getData(); }
getData(): void {
this._appService.getData()
.subscribe(
(res: any []) => this.res = res,
(error: any) => this.errorMessage = <any>error);
}
}
app.service.ts:
Injectable()
export class AppService {
private urlNorth = '';
constructor(private http: HttpClient) { }
getData(): Observable<any> {
const headers = new HttpHeaders();
headers.set('Content-Type', 'text/sml');
headers.set('Accept', 'text/xml');
headers.set('Content-Type', 'text/xml');
return this.http.get<any>(this.urlNorth,{responseType:'text', headers: headers})
.do(data => {
// console.log(data)
var dataParsed = data.replace('<string xmlns="service">', '').replace('</string>', '').replace(/</g, '<').replace(/>/g, '>');
// console.log(dataParsed);
parseString(dataParsed, (err, res) => {
if (err) {
return console.dir('invalid XML');
}
else {
console.log(res);
console.log(res.NewDataSet.Table[0].DataPointName[0]);
}
})
})
.catch(this.handleError);
}
données ** dans la console w/o tout **
Avez-vous essayé '
Pouvez-vous montrer un exemple de ce que sont les données "res"? – oppassum
Avez-vous une erreur dans la console? –