发表于: 2017-05-22 22:19:27

2 1045


2017-05-22 Day062

今天完成的事情

  1. 代理就配好了:
    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'});
   
   //string
   let 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,明天该进行接收到数据后的下一步操作了。

  1. 判断返回信息,使用messageProcess()方法。
  2. 学习路由相关知识,实现登录跳转。
  3. 哦,先把要跳转到的组件写好。

遇到的问题

问题倒是有:

  1. 好好的为什么要提示我: 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()写成方法就必须将发送请求并处理的过程拆分,所以将方法改写成了函数,直接调用函数即可。

收获

都在上面了。


返回列表 返回列表
评论

    分享到