是否有人列出了浏览器要求保存JSON数据文件而不是根据已存在的函数使用它来更新页面的原因列表?我有一段时间的工作,但突然间,我做了一些导致它不再起作用的东西。我正在使用asp.net MVC4。
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>
如你所见,我已经包含了相应的脚本。
@using (Ajax.BeginForm("SearchByDemographic", "SearchPatients", null, new AjaxOptions { HttpMethod = "POST", LoadingElementId = Url.Content("~/Images/ajax-loader.gif"), OnSuccess = "binddata", OnFailure = "FailAlert" }, new { id = "searchByDemographics" }))
我可以看到Ajax.BeginForm()。
这是我用来返回JSON结果的函数
[HttpPost]
public ActionResult SearchByDemographic(SearchByDemographicModel SearchByDemo)
{
string UID = HttpContext.User.Identity.Name;
DataRepository dr = new DataRepository();
List<SelectListItem> retVal = dr.SearchByDemographic(SearchByDemo, UID);
if ((retVal == null) || (retVal.Count < 1))
return Json("Empty Record: No Patient Found", JsonRequestBehavior.AllowGet);
else
if(retVal[0].Text.Contains("Error")){
return Json(new {success = false, nameError = "General Return Exception"}, DataRepository.searchPatientJSonStr(retVal), JsonRequestBehavior.AllowGet);
}
else{
return Json(DataRepository.searchPatientJSonStr(retVal), JsonRequestBehavior.AllowGet);
}//return PartialView("_RetTable", Json(DataRepository.searchPatientJSonStr(retVal), JsonRequestBehavior.AllowGet));
}
这一直在发生在我身上。我不知道为什么会发生这种情况。如果我能弄明白为什么会这种情况继续发生,我将来会更好地解决这个问题。
据我所知,浏览器期待JSON数据,不知何故,它没有得到它?
另外,这里是传回的测试数据的JSON ...如果有点原谅我,我试图从20个列表中得到一个结果......
"{\"total\":1,\"page\":1,\"records\":1,\"rows\":[{\"id\":11248971,\"cell\":[\"CRAYON \",\" RED \",\" 1956-03-04 \",\" M \",\" 11248971 \",\" 840006723 \",\" 737452545\"]}]}
我仍然只是提示打开文件。
答案 0 :(得分:3)
由于名为“显示友好的JSON错误”的配置选项,这种行为仅出现在IE中,即如果它小于特定大小(我似乎记得200个字符)而不是正常消耗,请求保存json
可能的解决方案是使用
return Json(result, "text/html");
将使IE正常运行
答案 1 :(得分:0)
67 61 6e 65 53 74 61 74 75 73 ==> 'ganeStatus'