【问题标题】:JSON output with Express Mysql使用 Express Mysql 的 JSON 输出
【发布时间】:2014-06-28 23:08:48
【问题描述】:

我已经成功连接了一个mysql数据库。无论是否有错误,我似乎都无法让查询数据在控制台中输出任何内容。我设置一切的方式有什么问题吗?

var express = require('express');
var path = require('path');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var routes = require('./routes/index');
var app = express();
var mysql = require('mysql');


var app = express();

var connection = mysql.createConnection({
    host: 'localhost',
    user: 'root',
    password: "root",
    database: 'photo_gallery'
});

connection.connect();


// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded());
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));

app.locals.appdata = require('./data.json');

app.use('/', routes);

app.get('/',function(request,response){
connection.query('SELECT title FROM stories', function(err, rows, fields)

   {
            console.log('Connection result error '+err);
            console.log('no of records is '+rows.length);
                    response.writeHead(200, { 'Content-Type': 'application/json'});
            response.end(JSON.stringify(rows));
    });

} );   

module.exports = app;

【问题讨论】:

    标签: mysql json node.js express


    【解决方案1】:

    我能够将 mysql 中的数据解析为 json 对象,并在我的快速路由中的 index.js 文件中使用该对象,该文件设置在主目录中名为 route 的文件夹中。

    var express = require('express');
    var router = express.Router();
    var appdata = require('../data.json');
    var mysql = require('mysql');
    
    
    var connection = mysql.createConnection({
        host: 'localhost',
        user: 'root',
        password: "root",
        port : 3306, //port mysql
        database: 'photo_gallery'
    });
    
    connection.connect();
    
    
    router.get('/', function(request,response) {
      connection.query('SELECT * FROM stories', function(err, rows, fields) {
        if (err) {
          console.log('Encountered an error:', err.message);
          return response.send(500, err.message);
        }
        thedata = ({'services' : rows});
        console.log(thedata);
    
        response.render('index', { 
        title: 'home',
        data: thedata, 
        page: 'home'
      });
      });
    });
    

    我的 index.ejs 文件中的这个 sn-p 使用了 JSON 对象。

    <a href="/services/"><li>Service Overview</li></a>
       <% thedata.services.forEach(function(item) { %>
          <a href="/services/<%= item.title %>"><li><%= item.title %></li></a>
      <% }); %>
    

    【讨论】:

    • var appdata = require('../data.json'); 中有什么内容?您能否将 git 发布到整个项目或让这个模块在没有依赖关系的情况下工作?
    猜你喜欢
    • 2013-09-21
    • 1970-01-01
    • 1970-01-01
    • 2021-06-05
    • 1970-01-01
    • 1970-01-01
    • 2013-07-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多