将数据库中的数据渲染到网页上

其实十分的简单,首先通过nodejs中的koa模块来建立与服务器的联系.

var Koa = require("koa");
var app = new Koa();
// 设置静态资源目录
var koaStatic = require("koa-static");
app.use(koaStatic(__dirname + "/ccc"));
// 用来获取post请求参数
var koaBody = require("koa-body");
app.use(koaBody());

// 跨域设置 
app.use(async function (ctx,next) {
  ctx.set("Access-Control-Allow-Origin", "*");
  ctx.set("Access-Control-Allow-Methods", "PUT, POST, GET, DELETE, OPTIONS");
  // 请求头设置
  ctx.set(
    "Access-Control-Allow-Headers",
    `Content-Type, Content-Length, Authorization, Accept, X-Requested-With , yourHeaderFeild,x-token,sessionToken,token`
  );
  if (ctx.method == "OPTIONS") {
    ctx.body = 200;
  } else {
    await next();
  }
});

// 添加路由
var router = require("./router");
app.use(router.routes());

app.listen(8888, function () {
  console.log("服务已启动, 在http://localhost:8888");
});

2.然后通过我们的router路由来创建域名来创建一个全新的页面
代码:

var fs = require("fs");
// 1.导入koa-router
var Router = require("koa-router");

// 2.创建一个router对象
var router = new Router();
//引入数据库模块
var mongodb = require("mongodb");
var client = new mongodb.MongoClient("mongodb://localhost:27017");
var db = client.db("data");
var dblist = db.collection("list");

router.all("/", function (ctx) {
  ctx.body = `<h3>用户管理小项目接口列表</h3>
  <ul>
      <li>
          <a target="_self" href="/list">用户列表</a>
      </li>
      <li>
          <a target="_self" href="/detail">用户详情</a>
      </li>
      <li>
          <a target="_self" href="/add">增加用户</a>
      </li>
      <li>
          <a target="_self" href="/edit">修改用户</a>
      </li>
  </ul>`;
});
var arr = null;
// 列表接口,通过异步的处理,可以让我们拿到数据库中的值
router.all("/list",async function (ctx,res) {
  //查询列表
  arr=await mconnect('list');
  ctx.body = arr;
});
//数据库调用函数,进行了异步处理
function mconnect(operate) {
 return new Promise((dui,cuo)=>{
  client.connect((err) => {
    if (err) {
      console.error(err);
      cuo(err);
    } else {
      if (operate === "list") {
        dblist.find({}).toArray().then((res) => {
            arr = res;
            client.close();
            dui(arr);
          });
      }
    }
  });
 })
}
// 导出路由对象
module.exports = router;
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐