You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MVC中如何通过JavaScript将JSON数据渲染至<ul>标签

实现从后端获取数据并渲染到
    标签的完整方案

没问题,我帮你梳理一下完整的实现方案,你只需要完善JavaScript函数的回调逻辑,就能把后端返回的数据渲染到指定的<ul>里了:

1. 完善JavaScript的GetAll函数

你原来的$.ajax请求缺少成功回调处理,这是获取数据后渲染页面的关键环节。我给你补充完整:

function GetAll() {
    // 定义请求方法(获取数据用GET即可)
    const method = "GET";
    $.ajax({
        type: method,
        url: "/dash/GetMemebers",
        dataType: 'JSON',
        contentType: "application/Json; Charset=UTF-8",
        // 成功获取数据后的回调函数
        success: function(response) {
            // 拿到目标<ul>元素
            const targetList = document.getElementById("list");
            // 先清空列表原有内容(避免重复渲染)
            targetList.innerHTML = "";
            
            // 遍历后端返回的成员数组
            response.data.forEach(member => {
                // 创建<li>元素
                const listItem = document.createElement("li");
                // 这里替换成你t_m表实际的字段(比如Id、Name、Email等)
                listItem.textContent = `${member.Id} - ${member.Name}`;
                // 将<li>添加到<ul>中
                targetList.appendChild(listItem);
            });
        },
        // 可选:添加错误处理,方便调试问题
        error: function(xhr, status, error) {
            console.error("加载成员数据失败:", error);
        }
    });
}

// 确保页面DOM加载完成后再调用函数,避免找不到目标元素
$(document).ready(function() {
    GetAll();
});

2. 渲染逻辑的灵活调整

如果需要渲染更复杂的列表项(比如包含多个字段、按钮或HTML结构),可以把textContent换成innerHTML来插入富内容,示例:

listItem.innerHTML = `
    <div class="member-card">
        <h6>${member.Name}</h6>
        <p>部门: ${member.Department}</p>
        <button class="btn btn-sm btn-primary" onclick="viewDetail(${member.Id})">查看详情</button>
    </div>
`;

3. 后端方法的小说明

你现有的GetMemebers Action方法已经完全可用,不过如果是ASP.NET Core项目,不需要JsonRequestBehavior.AllowGet参数,直接返回return Json(new { data = members });即可;如果是传统ASP.NET MVC,你的写法是正确的。

内容的提问来源于stack exchange,提问作者marco debala

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 07:28:21