带有NodeJS的jquerydatatable&;MySql

带有NodeJS的jquerydatatable&;MySql,mysql,node.js,ajax,datatables,server-side-rendering,Mysql,Node.js,Ajax,Datatables,Server Side Rendering,我想显示数据表中的值。我打开我的chrome开发工具,进入网络选项卡XHR和问题是,响应是一个HTML文档 服务器端代码: router.get('/agents',(req,res)=>{ 设dB=req.dB; 让sql='从角色id=3'的tbl_用户中选择*; dB.query(sql,(错误,代理)=>{ 如果(错误)抛出错误; const data={agents}; 控制台日志(数据); res.render(“仪表板/代理”数据); }); }); 客户端脚本: 客户端htm

我想显示数据表中的值。我打开我的chrome开发工具,进入网络选项卡XHR和问题是,响应是一个HTML文档

服务器端代码:

router.get('/agents',(req,res)=>{
设dB=req.dB;
让sql='从角色id=3'的tbl_用户中选择*;
dB.query(sql,(错误,代理)=>{
如果(错误)抛出错误;
const data={agents};
控制台日志(数据);
res.render(“仪表板/代理”数据);
});
});
客户端脚本:

客户端htmlt:


用户ID
全部的
名字
中名
姓
角色
控制台登录服务器

{代理:[行数据包{ 用户id:6, 名字:“帕梅拉”, 中间名:“珍珠”, 姓:“Sabes”, 电邮:'test@gmail.com', 密码:“1BD07C9DB7AE63C02FE75471727F58”, 手机号码:“09503713607”, 邀请代码:“”, 生日:2005年11月29日, 性别:'女性', 地址:'', 图像:空, 联系人:'', 联系人号码:'', 角色编号:3, 经度:'', 纬度:'', 医疗信息:'', 是否验证:1, 是否已删除:0, 创建时间:'0000-00-00:00:00', 更新地址:2018-05-30T20:42:43.000Z}]


我认为问题在于你对res.render的使用。因为根据express文档,res.render()函数编译模板,在模板中插入局部变量,然后用这两个内容创建html输出并发送。所以,试试这个。
res.json(数据)

我认为问题在于您对res.render的使用。因为根据express文档,res.render()函数编译模板,在模板中插入局部变量,然后用这两个内容创建html输出并发送。所以,试试这个。
res.json(数据)

var url=req.protocol+'://'+req.get('host')

var draw=req.body.draw;
var row=req.body.start;
var count=1+parseInt(行);
var rowperpage=req.body.length;//每页显示行数
//var columnIndex=req.query.order[0]['column'];//列索引
//控制台日志(请求主体搜索);
var dataArr=[];
adminTagModel.CountTagsAll(数据阵列,函数(totalRecordsValid)
{
var tagDataobj={
行:行,,
rowperpage:rowperpage
};
adminTagModel.showTagsAll(tagDataobj,函数(totalValid)
{
对于(变量i=0;i
var url=req.protocol+'://'+req.get('host')

var draw=req.body.draw;
var row=req.body.start;
var count=1+parseInt(行);
var rowperpage=req.body.length;//每页显示的行数
//var columnIndex=req.query.order[0]['column'];//列索引
//控制台日志(请求主体搜索);
var dataArr=[];
adminTagModel.CountTagsAll(数据阵列,函数(totalRecordsValid)
{
var tagDataobj={
行:行,,
rowperpage:rowperpage
};
adminTagModel.showTagsAll(tagDataobj,函数(totalValid)
{
对于(变量i=0;i
有完全相同的问题。你解决了吗?问候,有完全相同的问题。你解决了吗?问候,
$('#agent_table').DataTable( {
  processing: true,
  serverSide: true,
  ajax: {
    url: '/administrator/agents',
    type: 'GET',
    dataSrc: 'agents'
  },
  columns: [
    { data: 'user_id' },
    { data: 'checked' },
    { data: 'first_name' },
    { data: 'middle_name' },
    { data: 'role_id' },
  ]
} );
<table id="agent_table" class="table table-striped table-bordered dt-responsive nowrap"
            cellspacing="0" width="100%">
            <thead>
              <tr>
                <th>User ID</th>
                <th>
                  <div class="checkbox checkbox-success select_all">
                    <input class="styled" type="checkbox" id="check_all">
                    <label for="check_all" class="check_all_label">All</label>
                  </div>
                </th>
                <th>First Name</th>
                <th>Middle Name</th>
                <th>Last Name</th>
                <th>Role</th>
              </tr>
            </thead>
          </table>
var draw = req.body.draw;
var row = req.body.start;
var count = 1+parseInt(row);
var rowperpage = req.body.length; // Rows display per page
//var columnIndex = req.query.order[0]['column']; // Column index
//console.log(req.body.search);
var dataArr = [];

adminTagModel.CountTagsAll(dataArr, function (totalRecordsValid)
{
    var tagDataobj = {
        row : row,
        rowperpage : rowperpage
    };
    adminTagModel.showTagsAll(tagDataobj, function (totalValid)
    {
        for (var i = 0; i < totalValid.length; i++) 
        {
            dataArr.push({  'count' : count++ ,'tag_name' : totalValid[i].tag_name,'action' : "<a href='"
                +url+"/admin/tagdetails/"+totalValid[i].t_id+"' target='_blank'  ><i class='fa fa-eye'  alt='View Detail'></i></a>"});
        }

        var response = {
            "draw" : draw,
            "iTotalRecords" : totalRecordsValid[0].allcount,
            "iTotalDisplayRecords" : totalRecordsValid[0].allcount,
            "aaData" : dataArr
        };
        res.send(response);
        return response;
    });