Få förslag
Angående ajax-anropet i index.html
- Om din
index.html
betjänas av samma server, använd då inte ett anrop över flera domäner.url
egenskap i$.ajax
kan vara en relativ url som/start
. - Du kan också tänka dig att inte använda
jsonp
begäran.
samtalet kan vara som
$.ajax({
dataType: 'json',
data: $('#formID').serialize(),
type: 'POST',
url: "./start",
success: handleButtonResponse,
});
Hur/var ansluter JSON till/från MongoDB?
I ditt ajax-samtal begär du ./start
, Så samma rutt bör göras i din expressserver. gillar
app.get('/start', function (req, res) {
db.collection('collectionName').insert({req.data}, function (err, doc) {
//rest of code
});
});
kräver Express en mallmotor, till exempel Consolide? Om så är fallet, hur/var passar det in?
Du har många alternativ för mallar som jade,ejs,hbs och så vidare. Om du använder jade eller någon av dem kommer din html-renderingskod i expressrutter att förenklas.
utan en mallmotor
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 mallmotor som jade (nu mops)
var submittedPost = {};
submittedPost['message'] = 'Proof that Node and Mongo are working..';
response.json(submittedPost);
även med mallmotorer kan du rendera mallar med variabler på serversidan och du kan komma åt dem i dina mallar som
app.get('/mypage', function (req, res) {
res.render('mytemplate_page',{template_variable:some_variable});
});
och du kan använda template_variable
inuti mallen för att gå igenom eller visa.