0
我正在開發一個項目,它將使用來自txt文件的給定座標並繪製它們。 我現在的問題:我試圖使用ejs將座標渲染到我的html文件,但它只是不正確。 Ejs總是呈現:未定義。如何在HTML文件中渲染數組? - Node.js,ejs
下面是代碼:
var http = require('http'),
fs = require('fs'),
express = require('express'),
app = express();
app.use(express.bodyParser());
app.set('view engine', 'ejs');
app.engine('html', require('ejs').renderFile);
app.use(express.static(__dirname + '/public'));
//Readerfunction
function readLines(input, done) {
//.....
function done(arr) {
var obj = {};
var key1 = arr[0][0];
var key2 = arr[0][1];
obj[key1] = [];
obj[key2] = [];
arr.shift();
arr.forEach(function (item) {
obj[key1].push(item[0]);
obj[key2].push(item[1]);
});
console.log('X:', obj[key1]); // all the variables are logged correctly.
console.log('Y:', obj[key2]);
app.get('/', function(req, res) {
res.render('graph.html', {cordinates: obj});
});
app.listen(8080, function() {
console.log('Server running at http://127.0.0.1:8080/');
});
}
在HTML文件中:
<%= cordinates.obj %>
我希望你能幫助我,解決這個問題! :-)
問候, JS
爲什麼obj屬性不存在? – JSt
由於模板中的座標變量是'obj',所以實際上在那裏調用'obj.obj'。 –
明白了。主要的問題是在渲染時沒有定義obj。我可以將例子更改爲test.obj,但它仍然未定義。 – JSt