Enkele suggesties
Over de ajax-aanroep in index.html
- Als uw
index.html
wordt bediend door dezelfde server, gebruik dan geen cross-domein oproep. Deurl
eigenschap in$.ajax
kan een relatieve url zijn zoals/start
. - Je kunt ook denken aan het niet gebruiken van
jsonp
verzoek.
de oproep zou kunnen zijn als
$.ajax({
dataType: 'json',
data: $('#formID').serialize(),
type: 'POST',
url: "./start",
success: handleButtonResponse,
});
Hoe/waar maakt de JSON verbinding met/van MongoDB?
In je ajax-oproep vraag je om ./start
, Dus dezelfde route moet worden gemaakt in uw express-server. leuk vinden
app.get('/start', function (req, res) {
db.collection('collectionName').insert({req.data}, function (err, doc) {
//rest of code
});
});
heeft Express een template-engine nodig, zoals Consolidate? Zo ja, hoe/waar past dat?
Je hebt veel opties voor sjablonen zoals jade,ejs,hbs enzovoort. Als je jade of een van deze gebruikt, wordt je html-weergavecode in expresroutes vereenvoudigd.
zonder template engine
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();
met een template engine zoals jade (nu pug)
var submittedPost = {};
submittedPost['message'] = 'Proof that Node and Mongo are working..';
response.json(submittedPost);
ook met template-engines kunt u sjablonen renderen met variabelen aan de serverzijde en u kunt ze openen in uw sjablonen zoals
app.get('/mypage', function (req, res) {
res.render('mytemplate_page',{template_variable:some_variable});
});
en je kunt template_variable
. gebruiken in de sjabloon om door te bladeren of weer te geven.