Hiện alert ở client khi lưu thành công user vào mongodb

app.post('/register', (req, res, next) => {
 let {email, password, name, address} = req.body;
 User.create({email, password, name, address}, (err, user) => {
  if (err) return console.log(err);
  res.redirect('/register');
  });
});

Mọi người cho mình hỏi chút. Mình có 1 form dùng view engine EJS. Mình muốn khi post và lưu vào database (dùng mongoose) thành công thì xuất hiện alert báo đã đăng ký thành công rồi xuất hiện lại form này để điền tiếp thì làm sao vậy ạ
Hiện giờ mình để tạm redirect vầy thì vẫn điền dc form mới nhưng chưa biết cách nào để hiện alert

Mô hình thế này dễ hơn bạn ạ:

  • Client sử dụng kĩ thuật Ajax, gửi post request (đăng kí tài khoản) lên server, rồi chờ kết quả của server;
  • Server xử lý rồi gửi ngược lại kết quả;
  • Client (không hề bị reload) bắt tín hiệu kết quả đó rồi alert cho user;
  • Sau đó client có thể chờ tiếp vài giây, sau đó tự gọi api window.document.reload(url), hoặc gán url mới vào window.location.href;
    Bạn cần:
  • Viết code ở client để client gọi RESTAPI;
  • Viết code ở server để xây dựng RESTAPI;
2 Likes

Tks bạn nhiều. Mình chưa biết ajax nhưng hiểu sơ sơ rồi. Vậy là mình ko dùng post/get có sẵn trong form html mà dùng ajax của jquery để post cái form đó rồi nhận respond sau đó xử lý cho hiện alert.

Cơ bản là thế, nhưng không phải chỉ có mỗi jquery mới hỗ trợ kĩ thuật AJAX, còn nhiều thư viện khác nữa, hoặc bạn dùng trực tiếp luôn class XMLHttpRequest.

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?