目前我有一个登录弹出窗口,所以当用户输入电子邮件ID和密码并进行服务器调用时。我如何根据收到的回复做出反应。早些时候,当我使用javascript时,我是按照以下方式完成的:
import-parent
在这样做时,这被称为:
[_login.titleLabel setFont:[UIFont systemFontOfSize:10]
如何使用angular2和Typescript实现相同的功能?
谢谢。
答案 0 :(得分:1)
您需要使用Angular2 http
客户端发出POST请求,并使用Observable
subscribe
方法来详细说明响应。
这是发出POST命令的服务类的示例
import {Injectable} from 'angular2/core';
import {Http, Headers, RequestOptions, Response} from 'angular2/http';
import {Environment} from '../settings/environment.service';
import {BackEndService} from '../app/backEnd.service';
@Injectable()
export class BackEndRestService extends BackEndService {
constructor(private _http: Http, private _environment: Environment) {
super();
}
authorize(inAccessCode: string) {
let myUrl = this._environment.baseRestServicesUrl + 'authorize';
let options = this.getOpionsForPost();
let jsonString = JSON.stringify({_accessCode: inAccessCode});
return this._http.post(myUrl, jsonString, options)
.catch(this.handleError)
}
private handleError (error: Response) {
return Observable.throw(errorText || 'Server error');
}
private getOpionsForPost() {
let headers = new Headers();
headers.append('Content-Type', 'application/json');
return new RequestOptions({headers: headers});
}
}
以下是调用服务的代码
this._backEndService.authorize(this._user.accessCode)
.subscribe(
data => {
let retJson = data.json();
if (retJson.code == 'OK') { // do stuff
} else {
// manage the situation when the server responds KO
},
err => {
// manage errors;
},
() => console.log('Authorization Complete')
);
我希望这会有所帮助