Я отправляю файл на бэкэнд, используя iframe, чтобы избежать полной загрузки страницы. Действие необходимо отправить в динамическое место, основанное на выборе пользователей. т.е. в зависимости от того, какой элемент пользователь нажимает на другой идентификатор, будет задан, который затем изменит местоположение действия запроса POST. Когда я жестко кодирую URL-адрес, это работает, то есть www.test.com/1
, однако, когда я меняю 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>
КОНТРОЛЛЕР
$scope.getId = function(id) {
$scope.actionUrl = 'http://www.test.com/' + id;
}
попробуй это:
$scope.getId = function(id) {
document.myForm.action = 'www.test.com/' + id;
}
"myForm" - это имя формы <form name="myForm>
Нашел ответ.
Необходимо добавить $ scope.actionUrl перед тем, как это работает.
$scope.actionUrl = '/';
$scope.getApplicationId = function(applicationId) {
$scope.actionUrl = 'http://www.test.com/' + id;
}