如何从以下 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 Controller 操作中,文件上传并保存后返回以下 json: 返回 Json(new { success = true });
我可以看到服务器返回 success = true 响应。
但是我的脚本的这一部分似乎在我得到响应之前执行:
if (data.success === true) {
return $scope.setAlert(true, 'alert alert-success', 'Success!', "Video file uploaded");
}
如何根据 MVC Controller 发回的响应设置警报
最佳答案
您应该使用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");
}
});
关于javascript - jquery 文件上传成功后如何从 C# MVC Controller 获取响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26749162/