我正在尝试进行表单提交,其中url作为操作,目标为iframe。我通过API调用获取操作URL。如果我在控制器中硬编码网址,它将正常工作。但是如果我从API获取url,则单击提交按钮将不执行任何操作。这可能是什么问题。代码就像下面的代码片段。
HTML
<form action='{{trustedUrl}}' method="POST" target='iframe'>
<input type="text" />
<input type="submit", value="submit" />
</form>
Java脚本
var testCtrl = ['$scope',function($scope){
var pageInitialize = function(){
$scope.trustedUrl = '';
getUrl(function(data){
trustedUrl = data.URL;
});
}
}]
答案 0 :(得分:1)
你错过了 $ scope 这里
getUrl(function(data){
$scope.trustedUrl = data.URL;
//-----^
});
答案 1 :(得分:0)
您缺少$ sce,如下所示:
var testCtrl = ['$scope','$sce',function($scope,$sce){
var pageInitialize = function(){
$scope.trustedUrl = '';
getUrl(function(data){
trustedUrl = $sce.trustAsResourceUrl(data.URL);
});
}
}]
您可以在角度文档中阅读有关$ sce的更多信息。
答案 2 :(得分:0)
这适用于Angular 2
<form target="frame" action="<Your URL to POST>" #form method="POST" hidden="hidden">
<input name="token" value={{token}}>
</form>
从组件中的nginint()调用nativeElement.submit()。
这里类似 Angular way to submit form data to iframe