鍍金池/ 問(wèn)答/HTML/ 如何在前臺(tái)的js文件中訪問(wèn)node返回的數(shù)據(jù)

如何在前臺(tái)的js文件中訪問(wèn)node返回的數(shù)據(jù)

node.js: res.render('index.html',{data:data})可以在渲染的時(shí)候直接把數(shù)據(jù)也渲染上,但是我想返回給前臺(tái),在js文件中使用這些數(shù)據(jù),例如js里:console.log(data.name),該怎樣訪問(wèn)

回答
編輯回答
離人歸

-目前我可以直接在html模板里訪問(wèn)到后臺(tái)傳來(lái)的數(shù)據(jù)
直接在script標(biāo)簽里 (并沒(méi)有加<%%>包裹)
<script>
var articleData= <%- JSON.stringify(articleData) %>;
console.log(articleData.title)
</script>
我的article就是一個(gè)json對(duì)象
這樣可以訪問(wèn)到,但是寫在引入的外部js文件就不行了...總是暫時(shí)是可以不報(bào)錯(cuò)的用了。

2018年6月3日 08:08
編輯回答
怣痛

你可以在后端做兩個(gè)接口,一個(gè)用res.render()向?yàn)g覽器傳html,另一個(gè)用res.json({data:data})向?yàn)g覽器傳 json 數(shù)據(jù)。

2017年7月21日 15:42
編輯回答
萌面人

你說(shuō)的是ejs模板?

<% if (gameState) { %>
     <h2>I have a game state!</h2>
     <script>
        var clientGameState = <%= gameState %>            
     </script>
<% } %>

https://stackoverflow.com/que...

2017年11月7日 00:06
編輯回答
亮瞎她

同學(xué),模板引擎了解一下~~~

2018年6月28日 10:09
編輯回答
故林

在渲染的html文本里加一個(gè)script標(biāo)簽 里面設(shè)置一些變量就可以訪問(wèn)到了 不過(guò)會(huì)污染全局變量??梢约觽€(gè)namespace

2017年10月16日 20:17
編輯回答
忠妾

實(shí)在不行就做個(gè)變量轉(zhuǎn)發(fā),script部分把這些變量都設(shè)置到window下面,外部js直接訪問(wèn)window中的變量

2018年8月19日 14:40