获取来自jquery的对象列表获取mvc

时间:2015-03-23 23:41:16

标签: jquery .net ajax json asp.net-mvc

我想要的是在jquery GET的返回中获取对象列表: 这是我的观点:

 public List<CarBrandModel> Index()
    {
        //get the list of carbrand
        List<CarBrandModel> modelList = CarBrandModel.FromEntityToModel(service.GetAll());
        return modelList;
    }

这是我的模特:

    public class CarBrandModel
    {
      public int Id { get; set; }
      public string Name { get; set; }
      public string Description { get; set; }
    }

这是我的js:

var get = function () {
$.ajax({
    url: '/carbrand/Index',
    accepts: 'application/json',
    dataType: false,
    cache: false,
    type: 'GET',
    success: function (data) {

    }
});


};
get();

但数据中的结果是: &#34; System.Collections.Generic.List`1 [CarsWebProject.Models.CarBrandModel]&#34; 而是我想要的json对象列表。 当我使用web api时,我能够使用相同的代码但使用web api的get函数获取json对象的列表。但在这里我只使用mvc .net。

我可以修复什么来获取json对象列表。

有一个图书馆或者其他什么东西可以使用,并且每个帖子都要带头或者得到。

2 个答案:

答案 0 :(得分:0)

你必须把结果写成Json。

 public async Task<ActionResult> Index()
    {
        //get the list of carbrand
        List<CarBrandModel> modelList = CarBrandModel.FromEntityToModel(service.GetAll());
        return Json(new { Data = modelList}, JsonRequestBehavior.AllowGet); 
    }

答案 1 :(得分:0)

正如@Stephen Muecke在mvc中所说,返回json列表的方式是:

 public JsonResult Index()
 {
    //get the list of carbrand
    List<CarBrandModel> modelList = CarBrandModel.FromEntityToModel(service.GetAll());
    return Json(modelList, JsonRequestBehavior.AllowGet);
 }

另一方面,如果您使用的是web api,则返回对象列表的方法是:

 public List<CarBrandModel> Get()
 {
    //get the list of carbrand
    List<CarBrandModel> modelList = CarBrandModel.FromEntityToModel(service.GetAll());
    return modelList;
 }

所以斯蒂芬的答案是正确的。我的想法是因为我总是使用web api,现在只是mvc。