例如: 后端:res.render(“demo”,{“params”:params}) EJS模板的js部分,如何获取这个params呢??
params 就是json数据呀 你可以自己拼 var params = {title: ‘Cleaning Supplies’, supplies: [‘mop’, ‘broom’, ‘duster’]}; 不过一般都是自己去后台处理完之后,后台返回的json对象
@zaojiao 我的需求是 EJS模板中 JS 的部分 如何获取 后台传过来的params???在后台我的params已获取,但还是感谢你的回答。
这个直接使用变量就OK了,不需要特殊处理啊…<% code block %>或<%= exp%>等等…
最终生成的时候 render里边的参数 一项不就是 要传入模板的json对象嘛 后台到前端 一般就ajax请求返回吧 可能我没太理解你的意思。。
@zaojiao 先把萝卜埋到坑里再把这块地交给你的
我描述下场景: 首先,render进来一串json, 然后,需要利用这串json进行图表展示, 那么就需要在JS中进行数据绑定之类的。难道都写在<%%>中或者只能改方案(JS中异步请求)???
我想能否render进来的参数 直接在EJS中的js部分获取,然后进行数据绑定,进行图表展示。 @zaojiao @DevinXian @luoyjx @ArronYR 感谢解答!
@hsh075623201 图表的话你考虑下用异步的呗,我之前用highchart用的异步请求,jquery的getJSON
@luoyjx 其实只是想问问有没有方法,我现在也是异步取得。
@nswbmw 恩 好的 谢谢!
可以啊,render其实就是一个模板替换成html的过程,这个过程中的数据处理和前台没有任何关系,所以写进前台js部分,完全没问题
@DevinXian 那请问如何写呢??
假设 render(“demo”,{“name”:“test”})
EJS:我知道<%=name%>可以展示
但是:EJS <script></script> 中如何获取这个name值呢??
<script>
var name = <%=name%>
</script>
这样写不可以吗?
@jx-zhou 好像不行 。。。。
@hsh075623201 不可能不行,只要是内嵌的肯定行啊
@hsh075623201 不行的话,是怎么个不行法,报错吗?
@jx-zhou 恩 报错
@hsh075623201 贴代码看看
不知道这是不是你要的: 后端node可以这样写:
app.post('/xxx',function(req,res){
res.json({params:params})
});
前端获取js这样写:
$.ajax({
type: 'POST',
url:'/xxx'
}).done(function(results){
console.log(results); //=>params
})
<script> var name = ‘<%=name%>’ </script>
@jx-zhou 已解决 少了引号
@dayuoba 恩 感谢!
@jx-zhou 感谢 哈哈
@hsh075623201 有没有试过for循环,我使用for循环遇到了个奇怪的问题
<script> 如果外部的js想得到后台值 window.name =‘<%=name%>’; </script>
作者你好,我也遇到了同样的问题,能否指点一下