Beberapa saran
Mengenai panggilan ajax di index.html
- Jika
index.html
Anda dilayani oleh server yang sama, maka jangan gunakan panggilan lintas domain.url
properti di$.ajax
bisa berupa url relatif seperti/start
. - Anda juga dapat berpikir untuk tidak menggunakan
jsonp
permintaan.
panggilannya bisa seperti
$.ajax({
dataType: 'json',
data: $('#formID').serialize(),
type: 'POST',
url: "./start",
success: handleButtonResponse,
});
Bagaimana/Di mana JSON terhubung ke/dari MongoDB?
Dalam panggilan ajax Anda, Anda meminta ./start
, Jadi rute yang sama harus dibuat di server ekspres Anda. seperti
app.get('/start', function (req, res) {
db.collection('collectionName').insert({req.data}, function (err, doc) {
//rest of code
});
});
apakah Express memerlukan mesin templating, seperti Consolidate? Jika demikian, bagaimana/di mana itu cocok?
Anda memiliki banyak pilihan untuk membuat template seperti jade,ejs,hbs dan sebagainya.Jika Anda menggunakan jade atau salah satunya, kode rendering html Anda di rute ekspres akan disederhanakan.
tanpa mesin template
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();
dengan mesin templating seperti batu giok (sekarang pug)
var submittedPost = {};
submittedPost['message'] = 'Proof that Node and Mongo are working..';
response.json(submittedPost);
juga dengan mesin templating Anda dapat merender templat dengan variabel sisi server dan Anda dapat mengaksesnya di dalam templat Anda seperti
app.get('/mypage', function (req, res) {
res.render('mytemplate_page',{template_variable:some_variable});
});
dan Anda dapat menggunakan template_variable
di dalam template untuk mengulang atau menampilkan.