我知道这听起来很傻但是我被卡住了作为Json使用控制器返回的值,即1,0,true或false,并且在检查ajax文件上传成功部分数据时它仅包含“Success”as值无论控制器的返回值是多少。
在这里,我正在使用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.
}
});
任何人都可以帮助我,欢呼。
答案 0 :(得分:0)
最后解决了这个问题,当你从控制器返回结果而不是返回JSON我使用了"内容(值)"。
控制器代码:
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.
}
});