使用express.js+;无法在视图中显示数据;mysql+;ejs&x2B;打字
很抱歉,如果我有一些愚蠢的问题,在我看来,我是node.js的新手,我的问题是我无法在express.js框架中显示实体中的数据,我正在使用Mysql和TypeORM,以及ejs模板引擎 我试过很多例子,下面就是其中之一 但这似乎不管用 我的编辑器是VSC,下面是我的目录 下面是我的代码 1-实体(MasterKategori.ts): 2-index.ts 下面是我的index.ts,在这个脚本中我称之为路由(routes.ts): 3-routes.ts: 4-mycontroller(HomeController.ts),在这段代码中我调用了实体(MasterKategori.ts)并呈现到视图中,我使用的是ejs模板引擎 5-视图(page.ejs) 不幸的是,浏览器中的结果为空,如果我使用“console.log(kategori)”,则返回“[]”(未提供数据) 我真的很感谢你的任何帮助,我为这个问题感到头疼 不过,我对node.js非常熟悉,这将帮助我从express.js中的ORM和MVC开始我的项目很抱歉,错误是使用express.js+;无法在视图中显示数据;mysql+;ejs&x2B;打字,mysql,node.js,express,ejs,typeorm,Mysql,Node.js,Express,Ejs,Typeorm,很抱歉,如果我有一些愚蠢的问题,在我看来,我是node.js的新手,我的问题是我无法在express.js框架中显示实体中的数据,我正在使用Mysql和TypeORM,以及ejs模板引擎 我试过很多例子,下面就是其中之一 但这似乎不管用 我的编辑器是VSC,下面是我的目录 下面是我的代码 1-实体(MasterKategori.ts): 2-index.ts 下面是我的index.ts,在这个脚本中我称之为路由(routes.ts): 3-routes.ts: 4-mycontroller(Ho
HomeController.ts:7:26 - non-arrow functions are forbidden
以下是变化
import * as express from "express";
import {getConnection} from "typeorm";
import {MasterKategori} from "../entity/MasterKategori";
class HomeController {
public home = async function(request: express.Request, response: express.Response) {
const kategoriData = getConnection().getRepository(MasterKategori).find();
const kategori = Object.entries(kategoriData);
console.log(kategori);
response.render("page", {kat: kategori});
};
}
export default new HomeController();
它现在可以工作了,我把“等待”,非常感谢,下面是更新:
import * as express from "express";
import {getConnection} from "typeorm";
import {MasterKategori} from "../entity/MasterKategori";
class HomeController {
public home = async (request: express.Request, response: express.Response) => {
const kategoriData = await getConnection().getRepository(MasterKategori).find();
const kategori = Object.entries(kategoriData);
console.log(kategori);
response.render("page", {kat: kategori});
}
}
export default new HomeController();
我认为getConnection().getRepository(MasterKategori).find()是一个异步函数,因此在kategoriData结束之前尝试访问它可能会给出一个空响应。尝试为getConnection()实现异步/等待。getRepository(MasterKategori)。希望对您有所帮助。感谢您的解释,如何在类(如控制器类)中放置异步?这可能会让您了解如何创建异步函数谢谢您的更新,使用async我无法使用视图“render”,如果您有其他线索,我将不胜感激,谢谢您使用代码更改更新问题??我还更改了:class HomeController{public home=async(请求:express.request,响应:express.response)=>{const-kategoriData=getConnection().getRepository(MasterKategori).find();const-kategori=Object.entries(kategoriData);console.log(kategori);response.render(“page”,{kat:kategori});}但数据仍然没有显示出来
import * as express from "express";
import {getConnection} from "typeorm"; //calling typeORM
import {MasterKategori} from "../entity/MasterKategori"; //calling the Entity
class HomeController {
public home = (request: express.Request, response: express.Response) => {
const kategoriData = getConnection().getRepository(MasterKategori).find(); //get all data
const kategori = Object.entries(kategoriData);
response.render("page", {kat: kategori});
}
}
export default new HomeController();
<ul>
<% kat.forEach(function(katdata){ %>
<li><%= katdata.NamaKategori %> - <%= katdata.KodeKategori %></li>
<% }) %>
</ul>
select * from `mst_kategori`;
id KodeKategori NamaKategori Keterangan AddDate ModifiedDate ModifiedUser AddUser
------ ------------ ------------ ---------- ------------------- ------------------- ------------ ---------
1 Coba Coba Coba 2019-05-25 09:21:00 0000-00-00 00:00:00 0 0
2 lagi lagi lagi 2019-05-25 10:02:48 0000-00-00 00:00:00 0 0
HomeController.ts:7:26 - non-arrow functions are forbidden
import * as express from "express";
import {getConnection} from "typeorm";
import {MasterKategori} from "../entity/MasterKategori";
class HomeController {
public home = async function(request: express.Request, response: express.Response) {
const kategoriData = getConnection().getRepository(MasterKategori).find();
const kategori = Object.entries(kategoriData);
console.log(kategori);
response.render("page", {kat: kategori});
};
}
export default new HomeController();
import * as express from "express";
import {getConnection} from "typeorm";
import {MasterKategori} from "../entity/MasterKategori";
class HomeController {
public home = async (request: express.Request, response: express.Response) => {
const kategoriData = await getConnection().getRepository(MasterKategori).find();
const kategori = Object.entries(kategoriData);
console.log(kategori);
response.render("page", {kat: kategori});
}
}
export default new HomeController();