首页 > 解决方案 > 在jade/pug视图中从mysql中拆分数据

问题描述

下面的代码从数据库中生成一个地址列表,看起来像“ 123 Hollywood Ave., Los Angeles, California ”。但是我只想展示123 Hollywood Ave。我尝试使用split(',')js 中的方法拆分地址,但仍然没有做任何事情并显示正常的地址详细信息

地址.js

var express = require('express');
var router = express.Router();

/* GET home page. */
router.get('/', function(req, res, next) {
    console.log(req.session.userId);
    var user = req.session.user,
        userId = req.session.userId;
    console.log(userId);
    //console.log('ddd='+userId);
    if (userId == null) {
        res.redirect("/login");
        return;
    }
    req.app.get('db').query("SELECT address FROM customer", function(err, rows, fields) {
        if (err) throw err
        var customer_list= rows;
        var address_list = [];

        for (var i = 0; i < customer_list.length; i++){
            var split = customer_list[i].split(',');
            address_list.push(split[0]);
            console.log(address_list)
        }
            res.render('fix_address', {
                address_list: address_list,
            });                
        });
     });

module.exports = router;

地址.pug

extends layout

block content

  div.container
    for customer in customer_list
      li        
          = customer.address_list

标签: javascriptnode.jsexpresspug

解决方案


确保在路由和模板中引用相同的变量。

res.render('fix_address', {
  address_list: address_list,
});

应该:

res.render('fix_address', {
  customer_list: customer_list
});

如果您希望此模板呈现任何内容:

for customer in customer_list
  li= customer.address_list

推荐阅读