node.js-如何发送多个值ajax

时间:2014-04-23 01:39:56

标签: jquery ajax node.js

我的node.js

 app.set('views', path.join(__dirname, 'views'));
 app.set('view engine', 'html');
 app.engine('.html',require('ejs').__express);  

 app.get('/dashboardList',dash.list);
 app.get('/getDashList',dash.getList);

my dashboard.js

exports.list = function(req, res) {
   res.render('dashList.html');
  };
exports.getList = function(req, res) {
   fs.readFile('dashList.html', 'utf-8', function(error, data) {
       client.query('select * from spa', function(error, result) {
    console.log(result);
    if (error) {
        console.log('error:' + error);
    } else {
        console.log(result);
        res.send(ejs.render(data,{
             result:result,
             title:'Express'
          }
        }// end else
     });// end query
   });// end fs
}// end getList

我的dashList.html

<script>
$(document).ready(function() {
  function listView(){
    alert('listView in');
    $('#output').empty();
    $.ajax({
        url : '/getDashList',
        type : 'GET',
        success : function(result) {
            alert('success');
            alert(typeof (result));
            $(result).each(function(index, item) {
                var output = '';
                output += '<tr>';
                output += '<td>' + item.file_no + '</td>';
                output += '<td>' + item.file_name + '</td>';
                output += '<td>' + item.file_content + '</td>';
                output += '<td>' + item.file_model + '</td>';
                output += '</tr>';
                $('#output').append(output);
              });//end each
          }//end success
      });//end ajax
    }//end listView
   listView();
});
 </script>   
<body>
<table id="output"></table>
   <%=title%>
</body>
body标签中的

&lt;%= title%&gt; - &gt;这是错误发生

错误消息:标题未定义

在服务器端,我想使用ajax将多个值发送到dashList.html

如果我不使用ajax,它可以正常工作。但我想要ajax。

如果我的代码不正确,我希望让我知道正确的代码

1 个答案:

答案 0 :(得分:0)

你的问题是:

exports.list = function(req, res) {
  res.render('dashList.html');
};

您正在渲染dashList.html而未指定标题。如果您尝试使用尚未声明的javascript变量,那将是相同的。所以做这样的事情:

exports.list = function(req, res) {
  res.render('dashList.html', { title: 'Express' });
};