Quelques suggestions
Concernant l'appel ajax dans index.html
- Si votre
index.html
est desservi par le même serveur, veuillez ne pas utiliser d'appel interdomaine. L'url
propriété dans$.ajax
pourrait être une URL relative comme/start
. - Vous pouvez également penser à ne pas utiliser
jsonp
demande.
l'appel pourrait ressembler à
$.ajax({
dataType: 'json',
data: $('#formID').serialize(),
type: 'POST',
url: "./start",
success: handleButtonResponse,
});
Comment/Où le JSON se connecte-t-il à/depuis MongoDB ?
Dans votre appel ajax, vous demandez ./start
, Donc, le même itinéraire doit être fait dans votre serveur express. j'aime
app.get('/start', function (req, res) {
db.collection('collectionName').insert({req.data}, function (err, doc) {
//rest of code
});
});
Express nécessite-t-il un moteur de création de modèles, tel que Consolidate ? Si oui, comment/où cela s'intègre-t-il ?
Vous avez de nombreuses options pour les modèles comme jade, ejs, hbs et ainsi de suite. Si vous utilisez jade ou l'un d'eux, votre code de rendu html dans les routes express sera simplifié.
sans moteur de modèles
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();
avec un moteur de template comme jade (maintenant pug)
var submittedPost = {};
submittedPost['message'] = 'Proof that Node and Mongo are working..';
response.json(submittedPost);
également avec les moteurs de modèles, vous pouvez rendre des modèles avec des variables côté serveur et vous pouvez y accéder à l'intérieur de vos modèles comme
app.get('/mypage', function (req, res) {
res.render('mytemplate_page',{template_variable:some_variable});
});
et vous pouvez utiliser template_variable
à l'intérieur du modèle pour le parcourir ou l'afficher.