[英]How to get a response from c# MVC controller after succesful jquery file ulpload
如何在成功上传文件后从以下jQuery fileuplod获取响应结果以设置警报?
这是脚本:
$(document).ready(function() {
$("#fileupload").fileupload({
dataType: "json",
url: "/Videos/UploadVideoFile/?isrc=feffwefew",
autoUpload: true,
done: function(e, data) {}
}).on("fileuploadprogressall", function(e, data) {
var progress;
progress = parseInt(data.loaded / data.total * 100, 10);
$(".progress-wrapper .progress .progress-bar").css("width", progress + "%");
$(".progress-wrapper .progress .progress-bar").attr("aria-valuenow", progress);
if (data.success === true) {
return $scope.setAlert(true, 'alert alert-success', 'Success!', "Video file uploaded");
}
});
在我的MVC控制器操作中,在文件上传并保存后,我返回以下json:return Json(new {success = true});
我可以看到服务器返回的成功=真响应良性。
但是,脚本的这一部分似乎在获得响应之前已执行:
if (data.success === true) {
return $scope.setAlert(true, 'alert alert-success', 'Success!', "Video file uploaded");
}
如何从MVC控制器发回的响应中设置警报
您应该使用fileuploaddone
事件。
它会在您的ajax执行后触发。
例如:
$(document).ready(function() {
$("#fileupload").fileupload({
dataType: "json",
url: "/Videos/UploadVideoFile/?isrc=feffwefew",
autoUpload: true
}).on("fileuploadprogressall", function(e, data) {
var progress = parseInt(data.loaded / data.total * 100, 10);
$(".progress-wrapper .progress .progress-bar").css("width", progress + "%");
$(".progress-wrapper .progress .progress-bar").attr("aria-valuenow", progress);
}).on("fileuploaddone", function(e, data){
if (data.success === true) {
return $scope.setAlert(true, 'alert alert-success', 'Success!', "Video file uploaded");
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.