我的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。
如果我的代码不正确,我希望让我知道正确的代码
答案 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' });
};