ユーザーがフォームを完了すると、高速アプリを構築しています。成功すると、送信を確認するアラートが表示されます。
私のserver.jsファイルで、私は宣言しています
var cookieParser = require("cookie-parser"),
session = require("express-session"),
flash = require("connect-flash"),
app = express();
に続く:
app.use(cookieParser("keyboard cat"));
app.use(session({
cookie: { maxAge: 60000 },
secret: "keyboard cat"
}));
app.use(flash());
require("./server/config/routes.js")(app);`
私のルートファイル:
app.get("/", function(req, res){
res.render("index", { message: req.flash("success") });
});
app.post("/sendMsg", function(req, res){
mainController.sendMsg(req, res);
});
app.get("/sentSuccess", function(req, res){
req.flash("success", "Thanks!");
res.redirect("/");
});
最後に、jquery 呼び出し用の main.js ファイルで (アラートのスタイリングに SweetAlert を使用しています):
$(document).ready(function(){
if(message){
var frm = document.getElementsByName('msgForm')[0];
swal({
title: "Sweet!",
text: "Thanks",
imageUrl: "javascripts/sweetalert/thumbs-up.jpg"
});
frm.reset();
}
});
私が直面している問題はUncaught ReferenceError: message is not defined
、クライアント側のコンソールにあります。https://www.npmjs.com/package/connect-flashを読み、https ://github.com/jaredhanson/connect-flash/tree/master/examples/express3の例を調べましたが、メッセージが返されない理由がわかりません。