플래시 메시지 문제
2804 단어 expressjavascriptnode
필요('dotenv').config();
const 표현 = 요구('표현');
const 엔진 = require('ejs-mate');
const 경로 = 요구('경로');
const cookieParser = require('쿠키 파서');
const 로거 = 요구('모건');
const favicon = require('serve-favicon');
const bodyParser = require('본문 파서');
const 여권 = require('여권');
const 사용자 = 요구('./모델/사용자');
const 세션 = require('익스프레스 세션');
const 몽구스 = 요구('몽구스');
const methodOveride = require('메소드 재정의');
//여권 및 세션 구성
app.use(세션({
비밀: '슈크리',
다시 저장: 거짓,
저장되지 않은 초기화: 참,
}));
app.use(여권.초기화());
app.use(여권.세션());
여권.사용(User.createStrategy());
여권.serializeUser(User.serializeUser());
여권.deserializeUser(User.deserializeUser());
//지역 변수 미들웨어 설정
app.use(함수(요청, 해상도, 다음) {
//기본 페이지 제목 설정
res.locals.title = '시스템 시스템';
//성공 플래시 메시지 설정
res.locals.success = req.session.success || '';
req.session.success 삭제;
//오류 플래시 메시지 설정
res.locals.error = req.session.error || '';
req.session.error 삭제;
//미들웨어 체인의 다음 함수로 계속
다음();
});
flash-message.ejs 파일
<% if(성공 && 성공.길이) { %>
<%= 성공 %>
<% } %>
<% if(오류 && 오류.길이) { %>
<%= 오류 %>
<% } %>
show.ejs 파일
<% 레이아웃('레이아웃/쇼 후 레이아웃') -%>
가격:
<img src="<%=%20image.url%20%>" alt="서프보드 이미지">
<a href="/posts/<%=%20post.id%20%>/edit">
<button>수정</button>
</a>
show-post-layout.ejs 파일
<!DOCTYPE HTML>
문서
<% 포함 ../partial/navbar %>
<% 포함 ../partial/flash-message %>
<%- 본문 -%>
<br>
var 게시물 = <%- JSON.stringify(게시물) %>;<br>
컨트롤러 post.js 파일
// 게시물 생성
비동기 postCreate(req, res, next) {
req.body.post.images = [];
for(req.files의 const 파일) {
let image = cloudinary.uploader.upload(file.path)를 기다립니다.
req.body.post.images.push({
URL: image.secure_url,
public_id: image.public_id
})
}
let 응답 = geocodingClient를 기다립니다.
.forwardGeocode({
쿼리: req.body.post.location,
제한: 1
}). 보내다();
req.body.post.coordinates = response.body.features[0].geometry.coordinates;
게시하자 = Post.create(req.body.post)를 기다립니다.
req.session.success = '게시물 생성 성공!';
res.redirect( /posts/${post.id} );
},
Reference
이 문제에 관하여(플래시 메시지 문제), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/sukri12/problem-in-flash-message-1a61
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
<% } %>
show.ejs 파일
<% 레이아웃('레이아웃/쇼 후 레이아웃') -%>
가격:
<img src="<%=%20image.url%20%>" alt="서프보드 이미지">
<a href="/posts/<%=%20post.id%20%>/edit">
<button>수정</button>
</a>
show-post-layout.ejs 파일
<!DOCTYPE HTML>
문서
<% 포함 ../partial/navbar %>
<% 포함 ../partial/flash-message %>
<%- 본문 -%>
<br>
var 게시물 = <%- JSON.stringify(게시물) %>;<br>
컨트롤러 post.js 파일
// 게시물 생성
비동기 postCreate(req, res, next) {
req.body.post.images = [];
for(req.files의 const 파일) {
let image = cloudinary.uploader.upload(file.path)를 기다립니다.
req.body.post.images.push({
URL: image.secure_url,
public_id: image.public_id
})
}
let 응답 = geocodingClient를 기다립니다.
.forwardGeocode({
쿼리: req.body.post.location,
제한: 1
}). 보내다();
req.body.post.coordinates = response.body.features[0].geometry.coordinates;
게시하자 = Post.create(req.body.post)를 기다립니다.
req.session.success = '게시물 생성 성공!';
res.redirect( /posts/${post.id} );
},
Reference
이 문제에 관하여(플래시 메시지 문제), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/sukri12/problem-in-flash-message-1a61
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(플래시 메시지 문제), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/sukri12/problem-in-flash-message-1a61텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)