为了账号安全,请及时绑定邮箱和手机立即绑定

如果要在电影列表页加入分类表数据,搜索代码怎么写呢

//localhost:3000/admin/list

router.get("/list",function(req,res){

    movieModel.find({},function(err,movies){

        if(err){

            console.log(err);

            return;

        }

        res.render("list.jade",{

            title:"后台电影列表",

            movies:movies

        });

    });



});


比如这个是搜索电影页的,然后我加多个分类表,也想显示在这个页面,那应该怎么加代码呢,render已经放在里面了呀?!

正在回答

1 回答

你可以初始化一个对象用来存放该页面需要的所有数据,然后依次请求各个分类的数据,待所有数据都请求完以后再渲染。比如:

// 创建一个规范化的返回数据格式,content中存放具体数据
var responseData={code:0,content:{}};

// 接口请求
router.get("/list",function(req,res){
    // 查询某个指定分类的数据(实际生产中后面应该会限制条数,这里略了)
    movieModel.where({category:'av'}).find().then(function(movies){
        // 保存查询到的分类数据
        responseData.content.av=movies;
        movieModel.where({category:'disu'}).find().then(function(movies){
            // 保存查询到的分类数据
            responseData.content.disu=movies;
            // 如此反复...,直到完成所有查询后再去渲染页面(当然这样嵌套不好看,你可以使用then向后续)
            res.render("list.jade",{
                title:"后台电影列表",
                movies:responseData.content
            });
        });
    });
});

大概是上面这样子,不过我个人比较喜欢ajax的方式去获取数据,那样就不涉及 render 方法,只需要在初始化时异步请求各个类型的片子就行了,category分类可以使用参数来传递,这样一个函数就够了。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
node+mongodb 建站攻略(一期)
  • 参与学习       91860    人
  • 解答问题       889    个

带你完整实现一个从前端到后端的项目,初中级前端开发工程师必学课程

进入课程

如果要在电影列表页加入分类表数据,搜索代码怎么写呢

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信