繁体   English   中英

asp.net mvc Ajax无法加载数据

[英]asp.net mvc Ajax not loading data

我正在尝试使用ajax从控制器加载数据。

调节器

[HttpGet]
public ActionResult GetServices()
{
    var data = _bbdb.ListServices.Where(d => d.Status == true).ToList();
    return Json(data, JsonRequestBehavior.AllowGet);
}

视图

<div class="one-third column omega">
    <div class="title-wrapper">
        <div class="section-title">
            <h4 class="title">Services <strong>Availables</strong></h4>
        </div>
        <span class="divider"></span>
        <div class="clear"></div>
    </div>
    <ul class="accordion" id="ListServices">
    </ul>
</div>
<div class="clear"></div>

<script type="text/javascript">
       $(document).ready(function () {
    $.ajax({
        url: '@Url.Action("Home/GetServices")',
        contentType: "application/json; charset=utf-8",
        cache: false,
        global: false,
        async: false,
        dataType: "json",
        success: function (data) {
            alert(data);
            $.each(data, function () {
                $("<li/>").html('<li><div class="parent first"><h6><div class="accordion-caption"></div>' + this.Title + '</h6></div><div class="tcontent"><p>' + this.Description + '</p></div></li>').appendTo("#ListServices");
            });
        },
        error: function (error) {
            alert(error);
        }
    });
});

</script>

但是,它不显示来自控制器的数据,而是显示带有[object] [object]的警报。

返回的数据应该是用于填充手风琴的值的列表。

我在这里想念什么?

任何帮助都感激不尽。

现在您已经有了完整的URL(请参阅OP上的注释),让我们看一下您的成功回调。

success: function (data) {
            alert(data);
            $.each(data, function () {
               // your html creation here
            });
        },

您需要像这样将参数添加到$.each

$.each(data, function(index, val){
    console.log(val.Title);
    console.log(val.Description);
});

有关更多信息,请参见jQuery .each()文档

另外,将HTML附加到<ul> ,您要做的就是:

$('#ListServices').append('<li><div>Rest of your HTML...</div></li>');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM