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

使用jQuery与JSON数组填充HTML表格时出现Undefined错误

解决jQuery填充表格全显示Undefined的问题

核心问题排查与修复

1. 给jQuery AJAX加上JSON解析声明

原生XHR能正常获取数据,说明Servlet返回的JSON格式没问题,但jQuery默认可能没把返回内容当成JSON解析,导致直接访问属性时拿不到值。

把你的jQuery请求改成这样:

$.ajax({
    url: 'http://localhost:8089/projectw/ServletJSON',
    type: 'GET',
    dataType: 'json', // 这行必须加,明确告诉jQuery返回的是JSON格式
    success: function(data) {
        // 先打印日志确认数据结构,避免瞎猜
        console.log(data);
        // 清空表格原有数据(保留表头)
        $('#tableBody').empty();
        // 遍历数据插入表格行
        $.each(data, function(i, item) {
            var newRow = '<tr>' +
                '<td>' + item.id + '</td>' + // 这里的键名要和Servlet返回的JSON完全一致
                '<td>' + item.name + '</td>' +
                '<td>' + item.email + '</td>' +
                '</tr>';
            $('#tableBody').append(newRow);
        });
    },
    error: function(xhr, err) {
        console.error('请求出错:', err);
    }
});

2. 严格核对JSON字段名与代码取值

比如你的Servlet返回的JSON是这样的:

[
    {"id": 1, "fullName": "张三", "userEmail": "zhangsan@test.com"},
    {"id": 2, "fullName": "李四", "userEmail": "lisi@test.com"}
]

那代码里就得写item.fullName、item.userEmail,大小写、拼写差一点都会出现undefined,必须完全匹配。

3. 确保Servlet返回正确的Content-Type

如果上面两步还是不行,在Servlet代码里添加一行响应头,强制指定返回类型为JSON:

response.setContentType("application/json");

快速调试技巧

在success回调里先执行console.log(data),打开浏览器F12查看控制台——要是打印出来是一串字符串而非对象数组,那就是JSON解析的问题,加上dataType: 'json'就能解决。

内容的提问来源于stack exchange,提问作者Matheus Vieira

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 06:35:32