Wie die übergabe von Daten aus express.js um einen Javascript-code für eine html-Seite
Ich bin ganz neu express.js und Programmierung im Allgemeinen. Ich bin versucht zu lernen, wie abrufen von Daten aus einer Datenbank(Mongodb) und senden Sie es an html-oder javascript-Datei. Ich schaffte es zum abrufen von Daten und Konsole.melden Sie es. Ich habe diesen code wird das array mit dem Namen 'Daten' aus der Datenbank und Konsole.melden Sie es. Ich will übergeben Sie die Daten, die Reihe von Orten, um meine html-Datei, die die Warnung der Lage. Ich dachte ich kann einfach die Daten in eine javascript-Datei als Knoten-Modul und nennen Sie die variable in den anderen javascript-Datei. und jetzt weiß ich, dass, wenn es war jade, ich könnte leicht fügen Sie die variable nach res.render. wie würde es funktionieren, wenn ich mich mit html und bin mit einer separaten javascript-Datei?
hier ist meine app.js code:
var placeFinder = require ("./public/assets/js/data.js");
app.get('/test', function(req, res){
placeFinder(function(err, data){
if(err){
return res.send(500);
}
res.locals.place = data;
console.log(data);
res.render('test', {data: data});
});
});
und hier ist meine data.js code:
var mongoose = require ('mongoose');
function getPlaces(callback){
var data = new Array();
mongoose.model('stories').find({},function(err, companies) {
if(err){
return callback(err, data);
}
for (var i = 0; i < companies.length; i++) {
data[i] = JSON.stringify(companies[i].place);
}
return callback(null, data);
});
}
module.exports = getPlaces;
und hier ist mein html mit js-code:
<html>
<head>
<title>test</title>
<script>
$('button.showlocation').click( function(){
var new = {{data}};
document.write(new);
}
</script>
</head>
<body>
<button class="showlocation btn btn-info">Click Here!</button>
</body>
</html>
Vielen Dank
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden:
Und in Ihrem ViewMode-Vorlage gibt es eine var diese.Daten oder nur Daten. In deinem Skript unter der Annahme, dass Ihre tags, dass grenzt Ausgabe
{{
und}}
(wie bei LENKER:Vielleicht ist die schnelle und schmutzige Antwort ist:
- Das Rendern der Daten in die in der HTML-Datei, einschließlich Ihr google maps JS, in einer globalen variable namens stellen, bevor Sie Ihre JS-Datei.
Ein anderer Ansatz wäre, rufen Sie Ihre client-side javascript und Endpunkt auf Ihrem NodeJS-server, der nur die Daten zurück, die Sie in "Orte".