(接上一篇)上面我已经定下了目标和计划,下面简单实现一下后端接口和前端调用。(由于精力有限,这里不着重介绍整个过程是如何实现的,只描述自己在实现过程中会遇到的一些问题和解决方法)Nodejs实现简单的后台服务server.jsvarexpress=require('express');varapp=express();varbodyParse=require('body-parser')varcookieParser=require('cookie-parser');varsession=require('express-session');app.use(cookieParser());应用程序。use(bodyParse.urlencoded({extended:false}));//这里不关注如何从前端返回用户密码,以及如何验证用户名和密码的正确性;//这里假设该用户已通过验证并获得信息,即用户;//该接口模拟将用户信息保存到session中;app.get('/api/send',function(req,res,next){varuser={name:"neil",age:"22",address:"sz"};req.session.user=user;res.status(201).send({result:0,msg:"登录成功",data:req.session.user});});//全局验证类,前端调用该接口时,会先调用该方法验证session中是否存在用户,//如果用户不存在则抛出异常,如果存在则执行next方法;app.use(function(req,res,next){if(!req.session.user){returnnext(newError('ohno'))//处理错误}else{varuser=req.session.user;变量名=用户名;console.log('你好'+name+',欢迎来到我家');}next()//否则继续});//查询用户数据接口,模拟用户刷新或重启页面打开时需要重新建立sessionapp.get('/api/get',function(req,res,next){if(req.session.user){varuser=req.session.user;varname=user.name;res.send({result:1,msg:'Hello'+name+',欢迎来到我家。',数据:req.session.user});}});//监听3000端口varserver=app.listen(8090);anguarl2前端调整方法实现app.component.tsimport{Component,OnInit}from'@angular/core';从'@angular/http'导入{Http};@Component({selector:'app-root',templateUrl:'./app.component.html',styleUrls:['./app.component.css']})exportclassAppComponentimplementsOnInit{error:any;title='应用程序有效!';构造函数(私有http:Http){}ngOnInit():void{}onSet():void{this.http.get('http://neil.com:8090/api/send').subscribe(data=>{console.log(data);},error=>this.error=error);}onGet():void{this.http.get('http://neil.com:8090/api/get').subscribe(data=>{console.log(data);},error=>this.错误=错误);}}app.component.html