Få forslag
Angående ajax-kaldet i index.html
- Hvis din
index.html
betjenes af den samme server, så brug venligst ikke et kald på tværs af domæner.url
ejendom i$.ajax
kunne være en relativ url som/start
. - Du kan også tænke på ikke at bruge
jsonp
anmodning.
opkaldet kunne være som
$.ajax({
dataType: 'json',
data: $('#formID').serialize(),
type: 'POST',
url: "./start",
success: handleButtonResponse,
});
Hvordan/hvor forbindes JSON til/fra MongoDB?
I dit ajax-opkald anmoder du om ./start
, Så den samme rute skal laves i din ekspresserver. synes godt om
app.get('/start', function (req, res) {
db.collection('collectionName').insert({req.data}, function (err, doc) {
//rest of code
});
});
kræver Express en skabelonmotor, såsom Consolide? Hvis ja, hvordan/hvor passer det ind?
Du har mange muligheder for skabeloner som jade,ejs,hbs og så videre. Hvis du bruger jade eller nogen af dem, bliver din html-gengivelseskode i ekspresruter forenklet.
uden en skabelonmotor
response.writeHead(200, {"Content-Type:": "application/json"});
var submittedPost = {};
submittedPost['message'] = 'Proof that Node and Mongo are working..';
response.write( "_wrapper('" );
response.write( JSON.stringify(submittedPost) );
response.write( "')");
response.end();
med en skabelonmotor som jade (nu mops)
var submittedPost = {};
submittedPost['message'] = 'Proof that Node and Mongo are working..';
response.json(submittedPost);
også med skabelonmotorer kan du gengive skabeloner med variabler på serversiden, og du kan få adgang til dem inde i dine skabeloner som
app.get('/mypage', function (req, res) {
res.render('mytemplate_page',{template_variable:some_variable});
});
og du kan bruge template_variable
inde i skabelonen til at gå igennem eller vise.