繁体   English   中英

成功的jQuery文件ulpload成功后,如何从C#MVC控制器获取响应

[英]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");

            }
      });

jQuery文件上传回调选项

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM