Vài đề xuất
Về lệnh gọi ajax trong index.html
- Nếu
index.html
của bạn được cung cấp bởi cùng một máy chủ, do đó vui lòng không sử dụng lệnh gọi tên miền chéo.url
thuộc tính trong$.ajax
có thể là một url tương đối như/start
. - Ngoài ra, bạn có thể nghĩ đến việc không sử dụng
jsonp
yêu cầu.
cuộc gọi có thể giống như
$.ajax({
dataType: 'json',
data: $('#formID').serialize(),
type: 'POST',
url: "./start",
success: handleButtonResponse,
});
Làm cách nào / ở đâu JSON kết nối với / từ MongoDB?
Trong cuộc gọi ajax của bạn, bạn đang yêu cầu ./start
Vì vậy, tuyến đường tương tự nên được thực hiện trong máy chủ express của bạn. thích
app.get('/start', function (req, res) {
db.collection('collectionName').insert({req.data}, function (err, doc) {
//rest of code
});
});
Express có yêu cầu công cụ tạo khuôn mẫu, chẳng hạn như Củng cố không? Nếu vậy, điều đó phù hợp như thế nào / ở đâu?
Bạn có nhiều tùy chọn để tạo khuôn mẫu như ngọc bích, ejs, hbs, v.v. Nếu bạn sử dụng ngọc bích hoặc bất kỳ loại nào trong số chúng, mã kết xuất html của bạn trong các tuyến đường nhanh sẽ được đơn giản hóa.
không có công cụ tạo khuôn mẫu
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();
với một công cụ tạo khuôn mẫu như ngọc bích (bây giờ là pug)
var submittedPost = {};
submittedPost['message'] = 'Proof that Node and Mongo are working..';
response.json(submittedPost);
cũng với các công cụ tạo khuôn mẫu, bạn có thể hiển thị các mẫu với các biến phía máy chủ và bạn có thể truy cập chúng bên trong các mẫu của mình như
app.get('/mypage', function (req, res) {
res.render('mytemplate_page',{template_variable:some_variable});
});
và bạn có thể sử dụng template_variable
bên trong mẫu để lặp lại hoặc hiển thị.