如何在前台的js文件中访问node返回的数据

node.js: res.render('index.html',{data:data})可以在渲染的时候直接把数据也渲染上,但是我想返回给前台,在js文件中使用这些数据,例如js里:console.log(data.name),该怎样访问

阅读 3.1k
6 个回答

实在不行就做个变量转发,script部分把这些变量都设置到window下面,外部js直接访问window中的变量

在渲染的html文本里加一个script标签 里面设置一些变量就可以访问到了 不过会污染全局变量。可以加个namespace

你说的是ejs模板?

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

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

-目前我可以直接在html模板里访问到后台传来的数据
直接在script标签里 (并没有加<%%>包裹)
<script>
var articleData= <%- JSON.stringify(articleData) %>;
console.log(articleData.title)
</script>
我的article就是一个json对象
这样可以访问到,但是写在引入的外部js文件就不行了...总是暂时是可以不报错的用了。

你可以在后端做两个接口,一个用res.render()向浏览器传html,另一个用res.json({data:data})向浏览器传 json 数据。

同学,模板引擎了解一下~~~

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题