【发布时间】:2016-10-18 16:14:43
【问题描述】:
我正在尝试从 ASP.Net MVC 中的控制器获取 JSON。 $.getJSON 总是转到 fail 函数。我的控制器工作正常。对象带着正确的数据到达,并且构建了 JSON ok,没有不正确的数据。
public JsonResult Rentabilidad(ObtenerRentabilidadViewModel data)
{
var JsonChart = Json(RentabilidadManager.Rentabilidad(data.DTInicio, data.DTFinal), JsonRequestBehavior.AllowGet);
return JsonChart;
}
向我的控制器发出请求后,JSON 直接跳转到 fail 部分。
$.getJSON('@Url.Action("Rentabilidad")', {
Inicio: fechaInicio,
Final: fechaFinal
}, function (data) {
console.log(data);
}).fail(function (jq,msg,error) {
console.log(jq);
console.log(msg);
console.log(error);
$("#chartdiv").html('<div class="alert alert-danger col-md-12" id="alert">Error! Vuelva a intentarlo. </div>');
Desvanecer3segundos("#alert");
});
控制台显示:
Object {readyState: 4, responseText: "[{"Ingresos":0,"Egresos":1334,"Proyecto":"proy1","…2,"Rentabilidad":Infinity,"BulletSize":Infinity}]", status: 200, statusText: "OK"}
Index:114 parsererror
Index:115 SyntaxError: Unexpected token N in JSON at position 172(…)
谢谢!
【问题讨论】:
-
如果请求响应的不是
2xxHttpStatusCode,则fail被命中,这意味着您的操作有错误,或者响应格式不正确,在这种情况下不太可能.检查控制台以了解正在生成的确切错误 -
如果你在
fail(jqXHR, errText, error)中添加一些参数,你可能会明白原因 -
我会发布我得到的东西
-
它返回 200 响应。你确定它会失败吗?
-
100% 因为它显示 div 错误
标签: c# jquery .net json asp.net-mvc