发表于: 2017-05-22 22:19:27
2 1045
2017-05-22 Day062
今天完成的事情
- 代理就配好了:
a.proxy.conf.json
将所有请求直接转发:
{"**": {"target": "http://localhost:8080","secure": "false"}}
b. Nginx
配置跨域,和之前一样不变,只是将默认路径改到项目的dist
目录下,这样方便在打包之后调试。
2. post
请求发送成功
之前没有成功是有原因的,使用Rxjs发送post请求,由于使用的是Observable
对象,
getLogMes(user: User): Observable<User> {console.log('enter getLogMes()');//json// let body = JSON.stringify({'name': user.name, 'pwd': user.password});// let headers = new Headers({'Content-Type': 'application/json'});//stringlet body = `name=${user.name}&pwd=${user.password}`;let headers = new Headers({'Content-Type': 'application/x-www-form-urlencoded'});let options = new RequestOptions({headers: headers});return this.http.post(LOG_URL, body, options).map(this.extractData).catch(this.handleError);}
所以在调用服务的时候必须订阅这个返回的Observable
流:
login() {console.log('enter login()');this.loginService.getLogMes(this.user).subscribe(error => this.errorMessage=<any>error);}
subscribe()
既是订阅流。
明天计划的事情
既然请求已经成功,返回数据也ok,明天该进行接收到数据后的下一步操作了。
- 判断返回信息,使用
messageProcess()
方法。 - 学习路由相关知识,实现登录跳转。
- 哦,先把要跳转到的组件写好。
遇到的问题
问题倒是有:
- 好好的为什么要提示我: method can be static...虽然不是个错误,总是不爽。
private handleError (error: any) {console.log('enter handleError()');let errMsg = (error.message) ? error.message :error.status ? `${error.status} - ${error.statusText}` : 'Server error';console.error(errMsg);return Observable.throw(errMsg);}
对就是第一行的方法提示的。
2. 额,一不小心解决了。。。messageProcess()
写成方法就必须将发送请求并处理的过程拆分,所以将方法改写成了函数,直接调用函数即可。
收获
都在上面了。
评论