2017-08-30 109 views
-2

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

+0

究竟是什么错误? – Jasen

+1

您需要添加JsonRequestBehavior.AllowGet,或使用POST请求。 –

回答

0

我相信MVC拒绝GET请求。你必须特别允许获取请求。随着你的json数据,将JsonRequestBehavior.AllowGet传入你的return语句。

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

现在完美工作,谢谢! –

0

我希望这有助于全给你,你可以使用这个返回类型

返回JSON(objResult,JsonRequestBehavior.AllowGet);

相关问题