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

Ajax获取JSON数据时持续显示'undefined'问题求助

排查Ajax渲染页面显示undefined的问题
  • 检查返回数据的结构
    你通过alert(JSON.stringify(data))看到的返回数据,可能是数组或者嵌套对象结构。比如如果后端返回的是包含单个产品的数组(格式类似[{"product_name_kor":"xxx", ...}]),那你需要用data[0].product_name_kor来取值;如果返回的是嵌套结构(比如{"result":{"product_name_kor":"xxx", ...}}),就得用data.result.product_name_kor。直接使用data.product_name_kor自然会取不到对应值,显示undefined。

  • 严格核对前后端字段名
    确保后端返回的JSON字段名和你前端取值的字段名完全一致,包括大小写、下划线/驼峰格式。比如后端如果返回的是productNameKor(驼峰命名),而你前端用data.product_name_kor(下划线命名),就会找不到对应字段,返回undefined。可以把alert弹出的JSON内容复制出来,和前端代码里的字段名逐一比对。

  • 修复请求中的未定义变量
    你的请求参数里用到了product_id,但代码里没有提前定义这个变量(仅定义了product_name_kor、product_name_eng、created_at、released_price四个变量),这可能导致请求参数异常。虽然你提到能看到返回数据,但如果后端逻辑依赖这个参数,可能返回的数据结构不符合预期,间接导致取值问题。建议补充定义product_id变量,或者确认后端是否必须接收该参数。

  • 确认响应的Content-Type
    虽然控制器使用了@ResponseBody,但要确保后端返回的响应类型是application/json。如果响应类型不对,jQuery无法自动将响应解析为JSON对象,此时data可能是字符串而非可用对象,直接data.product_name_kor就会返回undefined。可以在浏览器开发者工具的Network面板中查看该请求的Response Headers,确认Content-Type为application/json;charset=UTF-8。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 05:27:18