[英]NODEJS API: How to render .pug and send a AJAX response at same time?
[英]NodeJS - AngularJS Send JSON object and render templat at same time?
我的api有一些问题。 我将NodeJS与ExpressJS Routing和AngularJS一起使用。
我想要做的是呈现一个模板(ejs),并同时发送一个json对象。
在我的路线文件夹中,我有index.js文件,其中包含以下内容:
router.get('/data', function(req, res, next){
Planning.getPlanningM(function(resultat){
res.json(resultat);
res.render('index');
});
});
关于变量resultat,我确定它包含我想要的。 但是我不能做res.json和res.render。 由于两次调用了send函数。
在我的角度我有这个功能:
var resultat = []
$http.get('/data')
.success(function(res){
angular.extend(resultat, res.data);
})
.error(function(res){
console.log('err');
})
return resultat;
目的是呈现此index.ejs并在此页面中显示我的计划。 但是我找不到解决方案。 这是我对stackoverflow的第一个询问,英语不是我的母语。 请不要对我不礼貌:)
我对EJS不熟悉,我使用把手,但是您应该能够在render函数中传递数据,如下所示:
...
res.render("index", { data:resultat });
...
然后以EJS使用的任何格式在模板中访问它。 对于HBS,它看起来像
...
<div>My data looks like this: {{data}}</div>
...
同样,EJS肯定会做不同的事情,请参考文档以确保您使用正确的格式。
感谢您的回答MPawlak!对我有帮助! 我想要的是像您一样使用渲染器发送数据。
但是我想在我之前展示的我的有角度的工厂中获取/获取这些数据(我的工厂充满了控制器,这部分工作):
var resultat = []
$http.get('/data')
.success(function(res){
angular.extend(resultat, res.data);
})
.error(function(res){
console.log('err');
})
return resultat;
使用您的方法,我可以直接将这些数据带入我的视图,并且可以使用! 谢谢 !
<pre> <%= data %> </pre>
所以我在考虑一个肮脏的临时解决方案来做到这一点:
<textarea ng-model="planning"> <%= data %> </textarea>
但是,当我想显示此计划时,它行不通,并且保持空白……我不明白为什么。
但是要获得一个好的,干净的解决方案,我认为这不是一个好主意,所以我的要求是一样的……如何直接在我的角度工厂中获取这些数据?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.