Я пытаюсь отправить sql-запрос в виде json со стороны клиента javascript на узел-сервер и получить обратно результат запроса, но похоже, что я не могу сделать это правильно, такчто он работает так, как задумано.
Я создаю SQL-запрос, когда его нужно использовать, никакой информации от пользователя нет.Я строю динамические диаграммы с некоторыми данными, поступающими из базы данных, поэтому я хотел бы использовать тот же файл JSON, просто измените его в зависимости от функции загруженной в данный момент диаграммы ... Я не знаю,достаточно ясно ...
Я использую Express, mysql, ejs для представлений движка и Highcharts для создания различных диаграмм.
Вот код серверной стороны: - app.js:
app.use('/', indexRouter);
app.use('/dbIndex', dbIndex)
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);
})
})