我在MVC4项目中的视图中有以下JavaScript代码:
jQuery.ajax({
url: "/Object/GetMyObjects/",
data: {
__RequestVerificationToken: jQuery("input[name='__RequestVerificationToken']").val(),
},
type: "POST",
traditional: true
}).success(function (data) {
sfds = JSON.parse(data);
});
以及ObjectController
中的以下方法:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult GetMyObjects()
{
var sfds= _db.SFDS.ToList();
return View(sfds);
}
为什么在运行JavaScript时不会调用控制器?即使我删除ValidateAntiForgereToken它也不起作用。在我的控制台中,我看到返回的数据为空。
我今天很难在我的观点上获得一些JSON。
答案 0 :(得分:3)
你没有回复JSon。您正在返回(或尝试返回)视图。在控制器中你需要这样的东西:
返回Json(sfds,JsonRequestBehavior.AllowGet);
然后,将其添加到.ajax()属性中:
dataType:" json",