1. 由于看过自己项目里面的项目,有好多数据展示,这些数据不是一个ajax请求回来的,而是由多个不同的请求回来的,这样造成的结果是,有可能我最下面的数据请求回来了,但是我的第一个还没请求回数据,造成一块是白屏。说实话这种要给用户视觉冲击,这特娘的和个花脸一样,你冲击个毛线啊。
2. 基于此自己产生了一个想法,就是为何不用node作为中间服务层,把这些复杂的页面使用node渲染完传给前端,所以自己看了看node和koa还有express便有了一个小小的架构
3. 老样子先把代码上来
"use strict"
let express = require("express");
let axios = require("axios");
let url = require("./apiServer.js");
let app = express();
console.log("12321");
try {
let data;
app.get("/api/getReportData", (req, res) => {
console.log("123123");
axios({
method: "get",
url: url.ccBaseUrl + "report/meta/ui/XXXXXXX?accessToken=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
data: {},
}).then((response) => {
data = response.data;
res.send(data);
console.log(response.data);
}).catch((err) => {
console.log(err);
})
});
app.listen(8989, () => {
console.log("123211");
})
} catch (e) {
console.log(e)
}
一开始不成功找不到报错原因,所以在最外层加了try-catch捕获这些错误信息,由于自己chrome安装了adBlock,所以给阻拦了,然后报了一大堆错误。把这个关掉以后这个错误信息解决。然后node如何请求java接口,node既然是js的开发环境,那就可以使用任何的请求包,所以我这里使用的axios,前端中使用这个请求node接口就好了这是前端调node接口返回的数据
这是node调用java接口返回的数据