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

PHP生成JSON填充DataTable报错,已用JSON.parse解决,求问题原因

解决DataTables无法通过AJAX响应数据填充的问题

问题核心原因

你遇到的错误是因为XMLHttpRequest返回的responseText是字符串格式的JSON,而DataTables的data配置项需要的是JavaScript对象/数组类型的数据。直接把字符串传给data时,DataTables无法识别字符串内部的FName、SName属性,因此抛出「Requested unknown parameter」错误。

你手动赋值的jsdata是原生JS数组,符合DataTables的数据格式要求,所以能正常运行。

解决步骤

只需要将AJAX返回的JSON字符串通过JSON.parse()方法解析为JavaScript对象数组即可:

修正后的JavaScript代码

const xhttp = new XMLHttpRequest()
xhttp.open("GET", "datatabletest.php")
xhttp.send()

xhttp.onload = function() { 
  var response = JSON.parse(xhttp.responseText); // 关键步骤:解析JSON字符串为JS对象
  console.log(response);

  $('#example').DataTable({
      "data": response,
      "columns": [
        { "data": "FName" },
        { "data": "SName" }
      ]
  });
}

更简洁的替代方案

可以直接使用DataTables内置的ajax配置项,它会自动处理JSON请求和解析,无需手动编写XMLHttpRequest逻辑:

$('#example').DataTable({
  "ajax": "datatabletest.php",
  "columns": [
    { "data": "FName" },
    { "data": "SName" }
  ]
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 13:03:15