如何将请求参数传递回Angular
How to pass request parameters back to Angular
我目前有一个应用程序,使用Express与翡翠模板。我正在用Angular和客户端HTML构建一个新版本的应用。
我需要访问某些请求参数,以便确定我的Angular代码中的用户权限。我的问题是,我不知道如何在我的Angular控制器/服务中获取这些参数。
下面是目前在Express中使用Jade结构的情况:
routes.js:
router.get('/player/:id',
playerRoute.show
);
player.js:
var show = function(req, res) {
res.render('player', {user: req.user});
};
…现在我的新版本的处理程序:
var player = function(req, res) {
//res.sendFile(path.join(__dirname, '../v2', 'index.html'));
res.json({user: req.user});
};
使用上面的代码将正确的用户JSON发送回客户端。当res.json
被注释掉而res.sendFile
被取消注释时,正确的HTML将被呈现。我的困境是如何既渲染这个HTML和提供我的客户端Angular代码与user
JSON对象? 你的问题归结为:
我的困境是如何既渲染这个HTML和提供我的客户端Angular代码与用户JSON对象?
你不。通常的情况是只渲染HTML和渲染初始应用所需的资源(隐藏所有内容,显示启动画面等等)。进一步的数据(比如获取你的user
)是通过Angular的HTTP功能调用API来处理的。这意味着它们是分开的。在这个API调用之后,你的应用决定渲染什么。
否则,你可以把HTML中的数据渲染成某个全局变量,让Angular从那里把它捡起来。这是混乱的IMO,但不需要一个单独的API调用来获取数据。
摘自我自己对类似问题的回答
要从服务器端到客户端javascript获取变量,请尝试将json字符串模板化到html中并从javascript加载它。EJS处理引号转义,我认为Jade也可以。作为参考,content!= safeString
告诉Jade跳过转义,内容!{safeString}
也是如此。
- var user={id:1, displayName:'foo'}
#example
meta(data-userJSON=JSON.stringify(user))
script(src="//code.jquery.com/jquery-1.11.3.min.js")
script.
var user = JSON.parse(
$('#example meta').attr('data-userJSON')
)
console.log(user);
span #{user.id}
span #{user.displayName}
我是这样处理这种情况的。我只是创建了一个新的API端点,我可以用Angular服务轻松地访问它。下面是Node的设置:
routes.js:
router.get('/currentUser',
apiController.currentUser.index
);
currentUser.js:
var index = function(req, res) {
res.json({user: req.user});
};
module.exports = {
index: index
};
对我来说,通过API调用来获取请求参数仍然很奇怪,但它可以工作。反馈感激。
- 函数未将值作为参数传递
- 如何将参数传递到angularJs中的工厂
- 将复杂对象从angular js传递到web api,它总是返回404
- 如何在HTML元素上创建函数,而不是将元素作为参数传递
- JavaScript常量-作为参数传递或直接使用
- 如何将javascript对象作为参数传递到c#web服务中
- 将参数传递给函数
- 如何将Gruntfile.js中的参数传递到webdriverio规范
- javascript,将参数传递给函数内部的闭包中的回调
- Javascript-将包含变量的html字符串作为参数传递
- 将字符串作为参数传递给函数onclick event jquery
- 将修改后的数组作为参数传递给函数
- Angular js - 解决不将参数传递给控制器的问题
- 从控制器向Angular工厂传递参数
- Angular将Input Datetime-local中的值作为参数传递
- 向Angular 2组件传递多个参数
- 如何使用Angular $resource传递查询参数数组
- 参数传递Angular JS
- 如何将请求参数传递回Angular
- Javascript,对象,用参数传递函数作为参数- angular, jquery概念基本误区