我使用iframe将文件发布到后端以避免整页加载。该操作需要根据用户的选择发布到动态位置。即,取决于用户点击不同id的元素,然后将改变POST请求的动作的位置。当我在url中硬编码时它工作 - 即www.test.com/1
,但是当我使用angular动态更改动作url时它不起作用,虽然我在检查元素时可以看到正确的url,但是POST请求不是发生。我正在使用angular version 1.2.1
。
请参阅下面的代码
<iframe id="uploadTrg" name="uploadTrg" height="0" width="0" frameborder="0" scrolling="yes"></iframe>
<form id="myForm" action="{{actionUrl}}" method="post" enctype="multipart/form-data" target="uploadTrg">
File: <input type="file" name="cv">
<input type="submit" value="Submit" id="submitBtn"/>
</form>
<div class="role-list" ng-repeat="(key, val) in obj">
<div ng-repeat="subValue in val track by $index">
<p class="role" ng-click="getId(subValue.id)">{{subValue.public_name}}</p>
</div>
</div>
CONTROLLER
$scope.getId = function(id) {
$scope.actionUrl = 'http://www.test.com/' + id;
}
答案 0 :(得分:0)
试试这个:
$scope.getId = function(id) {
document.myForm.action = 'www.test.com/' + id;
}
“myForm”是表单<form name="myForm>
答案 1 :(得分:0)
找到答案。
必须在函数之前添加$ scope.actionUrl才能使其工作。
$scope.actionUrl = '/';
$scope.getApplicationId = function(applicationId) {
$scope.actionUrl = 'http://www.test.com/' + id;
}