Program Tip

JSON을 렌더링하기위한 Express 및 ejs <% =

programtip 2020. 10. 31. 10:00
반응형

JSON을 렌더링하기위한 Express 및 ejs <% =


내 index.ejs에는 다음 코드가 있습니다.

var current_user = <%= user %>

내 노드에는

app.get("/", function(req, res){
    res.locals.user = req.user
    res.render("index")
})

그러나 내가 얻은 페이지에서

var current_user = [object Object]

그리고 내가 쓰면

var current_user = <%= JSON.stringify(user) %>

나는 얻는다 :

var current_user = {&quot;__v&quot;:0,&quot;_id&quot;:&quot;50bc01938f164ee80b000001&quot;,&quot;agents&quot;:...

JS에서 읽을 수있는 JSON을 전달하는 방법이 있습니까?


아 쉬웠습니다 . <%=사용 <%-하지 말고 대신 사용하세요. 예를 들면 :

 <%- JSON.stringify(user) %>

첫 번째는 HTML로 렌더링되고 두 번째는 변수를 렌더링합니다 (있는 그대로 eval).


주의!

사용자가 API 호출을 통해 생성 될 수있는 경우 <%-는 심각한 XSS 취약점을 남깁니다. 가능한 해결책은 여기에서 찾을 수 있습니다.

ExpressJS에서 JavaScript에 변수 전달

참고 URL : https://stackoverflow.com/questions/13788314/express-and-ejs-to-render-a-json

반응형