Několik návrhů
Pokud jde o volání ajax v index.html
- Pokud váš
index.html
je obsluhován stejným serverem, pak nepoužívejte volání mezi doménami.url
vlastnost v$.ajax
může to být relativní adresa URL jako/start
. - Také si můžete myslet, že nebudete používat
jsonp
žádost.
hovor by mohl být jako
$.ajax({
dataType: 'json',
data: $('#formID').serialize(),
type: 'POST',
url: "./start",
success: handleButtonResponse,
});
Jak/Kde se JSON připojuje k/z MongoDB?
Ve vašem hovoru ajax požadujete ./start
, Stejná trasa by tedy měla být provedena na vašem expresním serveru. jako
app.get('/start', function (req, res) {
db.collection('collectionName').insert({req.data}, function (err, doc) {
//rest of code
});
});
Vyžaduje Express modul pro vytváření šablon, jako je Consolidate? Pokud ano, jak/kam to zapadá?
Máte mnoho možností pro šablonování, jako je jade, ejs, hbs a tak dále. Pokud použijete jade nebo kteroukoli z nich, váš kód vykreslování html v expresních trasách se zjednoduší.
bez nástroje pro vytváření šablon
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();
s nástrojem pro vytváření šablon, jako je jade (nyní mops)
var submittedPost = {};
submittedPost['message'] = 'Proof that Node and Mongo are working..';
response.json(submittedPost);
také pomocí šablonovacích motorů můžete vykreslovat šablony s proměnnými na straně serveru a můžete k nim přistupovat ve svých šablonách jako
app.get('/mypage', function (req, res) {
res.render('mytemplate_page',{template_variable:some_variable});
});
a můžete použít template_variable
uvnitř šablony pro procházení nebo zobrazení.