我目前有一个网页,可以调用用户可以上传文件的模态元素。用户单击上载后,文件将上载到Amazon Web Services(S3),页面将刷新。这样就可以了,除了我还试图将有关特定上传事件的元数据发送回个人服务器,因为有事件记录发生并且刷新后,它无法完成将数据发送回我的服务器。
以下是我在html中使用的代码来声明按钮:
<button type="submit" class="btn btn-default" ng-click="closeModal(true)">Upload</button>
这是我的JS:
$scope.showModal = function(item){
item.$promise.then(item.show);
item.$options.show = true;
};
$scope.showModal = function(item){
item.$promise.then(item.show);
item.$options.show = true;
};
$scope.closeModal = function(result){
if(result){
console.log("Sending File...");
$scope.modalBox.$promise.then($scope.modalBox.hide);
} else{
console.log("Closing...");
$scope.modalBox.$promise.then($scope.modalBox.hide);
}
};
$scope.newDoc = function(){
$scope.uploadModal = {};
$scope.createdString = $scope.uniqueString();
$scope.showUpload();
};
//Show Modal
$scope.showUpload = function(){
$scope.modalBox = $modal({
title: ' ',
placement: 'center',
template: 'documents/docModal.html',
scope: $scope,
show: false,
});
$scope.showModal($scope.modalBox);
};
很多这些代码都是从另一个项目继承而来的,我还是新手。我想如果我无法更改HTML(我尝试将按钮类型更改为&#39;提交&#39;按钮&#39;)我会更改JS和我的内容发现它可能发生在这条线上:
$scope.modalBox.$promise.then($scope.modalBox.hide);
我不知道如何操纵它,以防止它变得清爽。
答案 0 :(得分:0)
想出来!它与Angular,JS和HTML元素没有任何关系,而是与Amazon Web Services策略有关。政策中有一个选项可以在成功时重定向表单。我刚刚删除了这个,重新制定了政策和签名,瞧!它现在就像一个魅力。我的表单将文件提交给S3并且它不刷新页面。