节点JS数据表和MySQL
我即时通讯工作与NodeJS和数据表与MySQL。 我不能从我的服务器获取json数据响应,这是我从console.log得到的错误:
/root/project/node_modules/mysql/lib/protocol/Parser.js:78 throw err; // Rethrow non-MySQL errors ^ Error: ER_EMPTY_QUERY: Query was empty
这是我的server.js:
var express = require('express'), var mysql = require('mysql'); var async = require('async'), QueryBuilder = require('datatable'); var tableDefinition = { sTableName: 'users' }; var queryBuilder = new QueryBuilder(tableDefinition); var requestQuery = { iDisplayStart: 0, iDisplayLength: 5 }; var connection = mysql.createConnection({ // CONNECT - MySQL host : 'localhost', user : 'root', password : 'mydatabasepassword', database : 'mydatabasename', }); connection.connect(); /* RETURN - all users */ apiRoutes.get('/users', function(req, res) { /* QUERY - user */ connection.query(queries.changeDatabaseOrSchema,function(err){ if (err) throw err; async.parallel({ recordsFiltered: function(cb) { connection.query(queries.recordsFiltered, cb); }, recordsTotal: function(cb) { connection.query(queries.recordsTotal, cb); }, select: function(cb) { connection.query(queries.select, cb); } }, function(err, results) { if (err) { res.error(err); } else { res.json(queryBuilder.parseResponse(results)); } }); }); });
和users.html文件:
<script> $(document).ready(function() { var oTable = $('#users').dataTable({ 'aoColumnDefs': [ { 'sTitle': 'ID', 'aTargets': [ 0 ], 'sWidth': '1%' }, { 'sTitle': 'Description', 'aTargets': [ 1 ], 'sWidth': '3%' } ], 'bAutoWidth': false, 'bServerSide': true, 'sPaginationType': 'full_numbers', 'aaSorting': [[ 0, 'desc' ]], 'sAjaxDataProp': 'data', 'sAjaxSource': '/api/users?id=1', 'oLanguage': { 'sEmptyTable': 'No users available', 'sLengthMenu': '_MENU_ users', 'sInfo': 'Showing _START_ to _END_ of _TOTAL_ users', 'sInfoFiltered': '(filtered from _MAX_ total users)', 'sInfoEmpty': 'Showing 0 to 0 of 0 users', 'sZeroRecords': 'No matching users found', 'sSearch': '' } }); /* DATATABLES - placeholder */ $('div.dataTables_filter input').attr('placeholder', 'Search').addClass('form-control'); }); </script>
我使用:“〜”4.14.0“,”mysql“:”2.12.0“,”async“:”〜2.1.4“,”下划线“:”〜1.8.3“
更新:
我尝试使用server.js上的这段代码:
/* RETURN - all users */ apiRoutes.get('/users', function(req, res) { /* QUERY - user */ pool.getConnection(function(err,connection){ if (err) { connection.release(); res.json({"code" : 100, "status" : "Error in connection database"}); return; } console.log(queries); connection.query(queries.changeDatabaseOrSchema,function(err, row){ connection.release(); res.json(queryBuilder.parseResponse(row)); }); }); });
并在server.js console.log我得到这个:
{ recordsTotal: 'SELECT COUNT(id) FROM clients', select: 'SELECT * FROM dealers' }
并在Chrome JSON从server.js返回我得到这个:
{"recordsFiltered":0,"recordsTotal":0,"draw":0}
任何人都知道如何从server.js获得有效的JSON,使铬上的数据表工作?
谢谢。
- 是否有必要在OpenShift上使用Forever.js?
- 节点js中的请求响应周期如何与外部I / O一起工作
- 在服务器端使用Node.js和Websockets重新使用Backbone.js模型
- 在express js的不同文件中访问db连接的同一个实例
- 量angular器/节点版本兼容性
- 数据从一个函数的asynchronous执行与另一个函数的执行混合在一起
- 在“devDependencies”和“peerDependencies”中指定node.js依赖项
- 如何在服务器端构buildNode,Express,Connect-Auth和Backbone应用程序?
- 收到JSON后节点应用程序崩溃,但在发送之前不会。