gpt4 book ai didi

javascript - 如何将 DropZone JSON 对象传递给 AngularJS?

转载 作者:行者123 更新时间:2023-12-01 01:41:49 25 4
gpt4 key购买 nike

在我的 Angular 应用程序中,我使用 Dropzone 和 JQuery 来上传文件。我成功地将文件上传到我的服务器并接收响应数据。现在我需要将响应数据从 JQuery 传递到我的 AngularJS Controller 。

这是我的拖放区代码:

<script type="text/javascript">
Dropzone.autoDiscover = false;
$(document).ready(function() {
// Smart Wizard
$('#wizard').smartWizard({labelFinish:'Upload'});

$('#file-dropzone').dropzone({
url: "UploadData/",
maxFilesize: 1024000,
paramName: "uploadfile",
acceptedFiles: ".csv",
maxFiles: 1,
dictDefaultMessage: "Drop CSV file here",
maxThumbnailFilesize: 5,
dictMaxFilesExceeded: "You can only uplaod one file",
init: function() {

this.on("sending", function(file, xhr, formData){
$(".busy-modal").show();

formData.append("format", $("#format").val());

});

this.on('success', function(file, json) {
$(".busy-modal").hide();
alert(JSON.stringify(json));
});

this.on('addedfile', function(file) {

});

}
});
});

function ResetDropZone()
{
Dropzone.forElement("#file-dropzone").removeAllFiles(true);
}

</script>

这是我接收 JSON 格式的响应数据的地方。

this.on('success', function(file, json) {
$(".busy-modal").hide();
alert(JSON.stringify(json));
});

我需要将此 json 对象传递给 AngularJS Controller 。我该怎么做?

最佳答案

所以我必须自己做。方法如下:

我添加了一个带有 ng-modelng-change 属性的隐藏文本输入。

<input type="text" hidden id="fileResult" ng-model="fileResult" ng-change="fileResult_Changed()"/>

在我的 dropzone 成功函数中,我更改了该字段的值并触发输入,以便触发我的 ng-change 事件。

this.on('success', function(file, json) {
$(".busy-modal").hide();
//alert(JSON.stringify(json));

$("#fileResult").val(JSON.stringify(json));
$("#fileResult").trigger('input');
});

这是我在 Controller 中成功接收数据的 ng-change 事件

$scope.fileResult_Changed = function()
{
alert($scope.fileResult);
}

哒哒!

关于javascript - 如何将 DropZone JSON 对象传递给 AngularJS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38951786/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com