ASP.NET MVC Ajax调用不返回从控制器Json数据
问题描述:
我正在一个ASP.NET MVC应用程序,我想通过Ajax调用一个控制器方法,并让它从JSON格式的控制器返回一个数组。ASP.NET MVC Ajax调用不返回从控制器Json数据
控制器:
public class HomeController: Controller
{
public JsonResult GetArray() {
// Code for getting array here
// Convert array to JSON data
return Json(new { Items = ArrayName.ToList()});
}
}
AJAX调用:
$.ajax({
type: 'GET',
url: "/Home/GetArray",
dataType: "json",
success: function(result){
$(".container").append('<p>'+ result +'</p>');
}
error: function(){
alert("Data was not fetched properly");
}
});
每当我有这样的Ajax调用,总是返回错误。我在我的控制器中设置了断点,并且正在存储值,但我不确定它为什么不能达到成功功能。
答
我相信MVC拒绝GET请求。你必须特别允许获取请求。随着你的json数据,将JsonRequestBehavior.AllowGet传入你的return语句。
return Json(new { Items = ArrayName.ToList()},JsonRequestBehavior.AllowGet);
+1
现在完美工作,谢谢! –
答
我希望这有助于全给你,你可以使用这个返回类型
返回JSON(objResult,JsonRequestBehavior.AllowGet);
究竟是什么错误? – Jasen
您需要添加JsonRequestBehavior.AllowGet,或使用POST请求。 –