角度设置基于作用域中变量的动作
Angular set form action based on variable in scope
我一直在尝试设置一个搜索表单,在那里我可以注入表单操作属性。
在我的表格中,我有
<form action="{{action}}">
然后在我的控制器中我有
$scope.action = "http://www.somesite.com"
这给了我一个插值错误,因为它在字符串中有不受信任的"http:"。我该怎么解决这个问题。我知道我可以使用ng-bind-html把html放在dom中,但我不知道我是否可以只使用一个属性。
其他人有这个问题吗。我真的想不出办法了。
感谢
如果您使用Angular.js 1.2或更高版本,则可以访问严格上下文转义服务$sce
。
SCE帮助编写代码的方式(a)默认情况下是安全的,(b)使XSS、点击劫持等安全漏洞的审计更加容易。
在$sce中,可以将一个变量传递给$sce.trustAsUrl(value)
以获得其原始值。所以你应该能够使用:
$scope.action = $sce.trustAsUrl("http://www.somesite.com");
相关文章:
- 带有KendoUI组件的Javascript变量作用域
- Javascript变量作用域:从回调函数中提取变量
- 使用JavaScript回调函数了解变量作用域和闭包
- jquery.post和变量作用域
- 变量作用域:在函数之间传递的名称
- 在 AJAX 和 Javascript 中使用变量和变量作用域
- 节点.js/express.js中的变量作用域
- jquery ajax 回调变量作用域(为什么有些在作用域中,而另一些则不在作用域中)
- JavaScript 中的变量作用域
- ajax GET 和 POST 中的变量作用域
- Javascript:变量作用域和全局变量的弊端
- Javascript 自执行函数和变量作用域
- 拼接上的Javascript全局变量作用域/覆盖
- 在Node中与jsdom和jquery共享变量作用域
- NodeJS:代码优化和变量作用域
- Javascript数组变量作用域
- AngularJS ng控制器指令不接受javascript中的变量(作用域函数),也不给出任何错误
- 回调函数中的变量作用域呢
- JavaScript/jQuery变量作用域导致错误
- AJAX变量作用域