陷入node.js和jquery通信错误。

时间:2017-08-17 23:20:45

标签: javascript jquery node.js express

这是我的问题。我正致力于在node.js应用程序上显示和操作一个简单的mysql数据库。我也使用jquery和bootstrap。我知道我的main.handlebars中成功引用了两个包。我的应用程序主页加载正确但我在app.js文件中使用render和renderTable函数来显示我从调用我的数据库中收到的表。我已经确认我从数据库中获取数据。我在开发人员工具中没有收到任何错误,当我绕过app.js并通过发出app.get请求来呈现表格时,我收到了正确的数据。

我的问题是,当我加载主页时,某些东西阻止了我的表的呈现。据我所知,当我设置$(document).ready(function()时,该函数将在页面加载时执行。

我的假设是,我的app.js文件中没有正确通信,并阻止执行渲染功能。我是node.js的新手所以我很可能忽略了一些非常简单的东西,但我不确定它是什么。

app.js渲染功能

var renderTable = function(url, selector) {
  $.ajax({
    url: url,
    dataType: 'json',
    success: function(data) {
      $(selector).html('');
      $(selector).append('<h3>' + selector.substring(1) + '</h3>' + jsonToTable(data, selector.substring(1)));
      $(selector).append(composeForm(selector, getKeys(data.results[0])));
      $(selector + ' .save').on('click', submitEntry);
      $(selector + ' .delete').on('click', deleteEntry);
    }
  });
};
var render = function() {
   console.log(Im Here!);
   renderTable('/artists', '#artists');
   renderTable('/country', '#country');
   renderTable('/city', '#city');
   renderTable('/medium', '#medium');
   renderTable('/artists_medium', '#artists_medium');
   renderTable('/artists_residence', '#artists_residence');
   $('.search').on('click', searchChar);
};

$(document).ready(function() {
  console.log("App.js is reached.");
  render();
});

server.js requests

var selectTableData = function(res, table) {
  var ctx = {};
  pool.query('SELECT * FROM ' + table, function(err, rows, fields) {
    if (err) {
      console.log(err);
      return;
    }
    ctx.results = rows;
    res.send(ctx);
  });
};

app.get('/artists', function(req, res) {
  selectTableData(res, 'artists');
});

app.get('/country', function(req, res) {
  selectTableData(res, 'country');
});

app.get('/city', function(req, res) {
  selectTableData(res, 'city');
});

app.get('/medium', function(req, res) {
  selectTableData(res, 'medium');
});

app.get('/artists_medium', function(req, res) {
  selectTableData(res, 'artists_medium');
});

app.get('/artists_residence', function(req, res) {
  selectTableData(res, 'artists_residence');
});

论文当然是一个更大项目的片段。

0 个答案:

没有答案