【问题标题】:Ajax File upload in Jquery returns success as resultJquery中的Ajax文件上传返回成功结果
【发布时间】:2016-10-15 05:37:42
【问题描述】:

我知道这听起来很傻,但我被困在使用控制器作为 Json 返回的任何值上,即 1、0、true 或 false,并且在检查 ajax 文件上传成功部分数据时,它只包含“成功”作为值不管控制器的返回值是什么。

在这里,我正在使用 Ajax 文件上传,因为我正在从客户端上传文件。

控制器代码:

public ActionResult ImportExcelData(HttpPostedFileBase UploadExcel)
{
  try
    {
        var Data = Repository.ImportData(filePath, OrgID);
        return Json(true, JsonRequestBehavior.AllowGet); 
    }
    catch(Exception)
    {
        return Json("false", JsonRequestBehavior.AllowGet);
    }
}

查看代码:

$.ajaxFileUpload({
    url: '@Url.Action("ImportData", "Lead")',
    secureuri: false,
    type: 'POST',
    datatype: 'JSON',
    contentType: "application/json; charset=utf-8",
    cache: false,
    fileElementId: "Upload",
    success: function (data) {
   //data contains only success as value.
  }
});

谁能帮帮我,干杯。

【问题讨论】:

  • 你是说数据是字符串文字“成功”?
  • 是的,数据包含“成功”作为值。
  • Json()是内置函数还是你写的函数?
  • 您使用的是哪个插件? (并且您不能使用contentType: "application/json; charset=utf-8", 上传文件,因此该选项没有意义)
  • @StephenMuecke 注意,可以将文件上传为JSON,其中文件是JSON 字符串stackoverflow.com/questions/28856729/… 中的data URI

标签: c# jquery .net asp.net-mvc-5 jsajaxfileuploader


【解决方案1】:

终于解决了,当您从控制器返回结果而不是返回 JSON 时,我使用了“Content(Value)”。

控制器代码:

    public ActionResult ImportExcelData(HttpPostedFileBase UploadExcel)
     {
      try
        {
         var Data = Repository.ImportData(filePath, OrgID);
         if(sData!=null)
            {
                string sJSON = String.Join(",", sData);
                return Content(sJSON);
            }
            else
            {
                return null;
            }
        }
      catch(Exception)
       {
         return Json("false", JsonRequestBehavior.AllowGet);
       }
      }

在 ajax 文件上传成功部分,不是使用一个字符串来获取数据,而是使用两个字符串,其中第二个字符串具有返回值。这可能是因为ajax文件上传插件有问题。

查看代码:

    $.ajaxFileUpload({
     url: '@Url.Action("ImportData", "Lead")',
     secureuri: false,
     type: 'POST',
     datatype: 'JSON',
     contentType: "application/json; charset=utf-8",
     cache: false,
     fileElementId: "Upload",
     success: function (data,result) {
     //"result contains your values.
    }
   });

【讨论】:

    猜你喜欢
    • 2011-11-18
    • 2011-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多