【问题标题】:Javascript : How to access to the data imported from the controller with ajax?Javascript:如何使用 ajax 访问从控制器导入的数据?
【发布时间】:2018-02-19 02:13:12
【问题描述】:

我是初学者,我需要在视图中从控制器 MVC 到 Javascript 获取对象“Event”(OrderId,Date)的列表,它就像一个字符串列表,它向我显示“未定义”。 在控制器的一侧,我看到它是正确的! 我搜索并没有发现我的错误,我尝试使用 # 并且没有使用 foreach 但我认为这不是真的,所以谢谢你帮助我!

控制器:

[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');
        }
    });
}

【问题讨论】:

    标签: javascript ajax list view controller


    【解决方案1】:

    非常感谢,但搜索后发现它是另一个对象,

    所以,我必须写:

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

    而不是

    alert(data[0].OrderId);
    

    我不需要 "#" ;

    【讨论】:

      猜你喜欢
      • 2018-05-09
      • 1970-01-01
      • 2013-12-15
      • 2017-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-28
      相关资源
      最近更新 更多