nicht aufrufen Ich möchte eine Dateikonfiguration von JSON zu entwickeln und es wird aufgerufen mit http den Konstruktor abrufen und den Wert, ich möchte die Konfigurationsdatei an eine andere Komponente zurückgeben. Aber wenn die Rendite mir einen Wert undefiniert gibt.TypeScript - Ich kann meine JSON mit http Get mit Angular 2
Mein config.json
[ {"urlServer": "http://localhost:56877"}]
Mein Config.Service
Exportklasse ConfigService { url: string;
constructor(public _http: Http)
{
let injector = Injector.resolveAndCreate([loggerService]);
let logger = injector.get(loggerService);
try {
return this._http.get('/app/config.json',
{
headers: contentHeaders
})
.map((res: any) =>
{
let data = <configModel>res.json();
this.url = data.urlServer;
JSON.stringify(this.url);
});
}
catch (ex) {
logger.registarErros('configService', ex);
}
}
returnConfig()
{
return this.url;
}
Jetzt ist meine andere Komponente
constructor(public _http: Http, public config: configService)
{
this.token = sessionStorage.getItem('token');
this.username = sessionStorage.getItem('username');
}
login(username: String, password: String)
{
let injector = Injector.resolveAndCreate([loggerService]);
let logger = injector.get(loggerService);
try
{
alert(this.config.url);
return this._http.post('http://localhost:56877/api/Login/EfectuaLogin', JSON.stringify({ username, password }),
{
headers: contentHeaders
})
.map((res: any) =>
{
let data = <authLoginModel>res.json();
this.token = data.token;
this.username = data.nome;
sessionStorage.setItem('token', this.token);
sessionStorage.setItem('username', this.username);
return Observable.of('authObservable');
});
}
catch (ex) {
logger.registarErros('authentication', ex);
}
}
ich nicht mehr weiß, wie das Problem zu lösen, ich brauche Ihre Hilfe, ich bin mit kantigem 2. Dank nicht sehr erfahren sehr viel.
Hallo, ich versuche, um dies zu tun, aber gib mir zurück "[objec t Objekt] ":/ –
Ou ja. Sie können Observable.of nicht innerhalb des für den Kartenoperator definierten Callbacks verwenden. Ich aktualisierte Ny Antwort entsprechend ... –
Aber wenn ich nicht meine Observable.Of verwende, funktioniert mein Login nicht, ich möchte dies ändern "this._http.post ('http: // localhost: 56877/api/Login/EfectaLogin ', "zum Beispiel " this._http.post (this.config.url +'/api/Login/EfectuaLogin ', " –