Javascript:如何通过ajax访问从控制器导入的数据?

问题描述:

我是初学者,我需要从视图中的控制器MVC到Javascript获取对象“Event”(OrderId,Date)的列表,它像一个字符串列表,它显示我“未定义”。 在控制器的一侧,我看到它是正确的! 我搜索了,我没有发现我的错误,我试着用#和没有foreach,但我认为这不是真的,所以谢谢你帮助我!Javascript:如何通过ajax访问从控制器导入的数据?

控制器:

[System.Web.Mvc.HttpGet] 
public JsonResult getListEvent() { 
    IList<Event> ListEvent = new List<Event>(); 
    ListEvent = DeserializeElement(); 
    return Json(new { ListEvent = ListEvent }, JsonRequestBehavior.AllowGet); 
} 

private List<Event> DeserializeElement() { 
     List<Event> lt = new List<Event>(); 
    document.Load("eventXml.xml"); 
    foreach (XmlNode item in document.DocumentElement.ChildNodes) { 
     Event e = new Event(); 
     e.OrderId = int.Parse(item.Attributes[0].Value); 
     e.Date = Convert.ToDateTime(item.Attributes[1].Value); 
     lt.Add(e); 
    } 
    return lt; 
} 

和视图:

function GetListEvent() { 
    debugger; 
    $.ajax({ 
     type: "GET", 
     url: "Home/getListEvent", 
     contentType: "application/json;charset=utf-8", 
     dataType: "json", 
     success: function (data) { 
      debugger; 
      alert(data[0].OrderId); 
      alert('#'+ data[1].Date); 
      for (var item in data) { 
       alert('#' + data[item]); 
      } 
     }, 
     error: function (response) { 
      debugger; 
      alert('eror'); 
     } 
    }); 
} 

非常感谢你,但搜索后,我发现它是在另一个物体,

所以,我必须写:

alert(data.ListEvent[0].OrderId); 

而不是

alert(data[0].OrderId); 

我不需要“#”;