ASP.NET MVC Ajax调用不从控制器返回Json数据

时间:2017-08-30 17:37:00

标签: json ajax asp.net-mvc

我正在使用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 Call:

$.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调用时,总会返回错误。我在控制器中设置了断点并且值正确存储,但我不确定为什么它不会达到成功功能。

2 个答案:

答案 0 :(得分:0)

我相信MVC拒绝GET请求。您必须特别允许获取请求。连同您的json数据,将JsonRequestBehavior.AllowGet传递给return语句。

 return Json(new { Items =  ArrayName.ToList()},JsonRequestBehavior.AllowGet);

答案 1 :(得分:0)

我希望对你有所帮助,你可以使用这种返回类型

返回Json(objResult,JsonRequestBehavior.AllowGet);