клиент отправляет sql запрос на сервер узла - PullRequest
0 голосов
/ 14 февраля 2019

Я пытаюсь отправить sql-запрос в виде json со стороны клиента javascript на узел-сервер и получить обратно результат запроса, но похоже, что я не могу сделать это правильно, такчто он работает так, как задумано.

Я создаю SQL-запрос, когда его нужно использовать, никакой информации от пользователя нет.Я строю динамические диаграммы с некоторыми данными, поступающими из базы данных, поэтому я хотел бы использовать тот же файл JSON, просто измените его в зависимости от функции загруженной в данный момент диаграммы ... Я не знаю,достаточно ясно ...

Я использую Express, mysql, ejs для представлений движка и Highcharts для создания различных диаграмм.

Вот код серверной стороны: - app.js:

app.use('/', indexRouter);
app.use('/dbIndex', dbIndex)
  • dbIndex.js

import express from "express";
import db from "../public/javascripts/db";
import Request from '../public/javascripts/request';

const router = express.Router();

router.get('/', function(req, res, next){
    var sql_request = req.query.sql;
    res.json({'status': 200, 'msg': 'success'})
    router.get("/Nb_plis_heure", (req, res, next) => {

        db.query(Request.getProductSQL(sql_request), (err, row)=> {
            if(!err) {
                res.send(row);
            }
        });    
    });
});

router.get("/Nb_plis_init", (req, res, next) => {

    db.query(Request.get10ProductSQL(), (err, row)=> {
        if(!err) {
            res.send(row);
        }
    });    
});

router.get("/Nb_plis_heure", (req, res, next) => {

    db.query(Request.getProductSQL(), (err, row)=> {
        if(!err) {
            res.send(row);
        }
    });    
});

module.exports = router;

И немного со стороны клиента:

var sql = {
    sql: 'SELECT Nb_plis_heure,Nb_stack_jour FROM Production ORDER BY day DESC LIMIT 1'
}
$(function(){
    $.get('/dbIndex', sql, function(data){
        alert(data);
    })
})
...