Javascript 通过ajax方法将json数据传递到DataTable时出错
我在Google Chrome控制台上的IDE中发现一个错误,它表明:Javascript 通过ajax方法将json数据传递到DataTable时出错,javascript,jquery,ajax,json,Javascript,Jquery,Ajax,Json,我在Google Chrome控制台上的IDE中发现一个错误,它表明: Uncaught TypeError:无法读取未定义的属性“length”。当dataTables获取原始json数据并尝试将其注入表中时,会引发此错误 // Got the data - add it to the table for ( i=0 ; i<aData.length ; i++ ) { _fnAddData( settings, aData[i] ); } <script> $(doc
Uncaught TypeError:无法读取未定义的属性“length”。
当dataTables
获取原始json数据并尝试将其注入表中时,会引发此错误
// Got the data - add it to the table
for ( i=0 ; i<aData.length ; i++ ) {
_fnAddData( settings, aData[i] );
}
<script>
$(document).ready(function(){
$('#clickMe').click(function(){
$.ajaxPrefilter(function(options, originalOptions, jqHXR ){
options.async = true;
});
$.ajax({
//type: 'GET',
url: 'URL',
dataType:"json",
data: "getAddressResults", //name of json expression
success: function(data){
var jsTable = $('#data').dataTable();
jsTable.fnClearTable();
$.each(data, function(key, value){
var i = this.length;
alert("There are : " + i + " entries."); //shows how many objects are in my json data
jsTable.dataTable().fnAddData([
value[key].childName,
value[key].childNum,
value[key].lineNum,
value[key].parentName,
value[key].parentNum
]);
});
if(data){
var txt = "";
if(res > 0){
for (var i=0;i<data.length;i++){
if (data[i].parentNum && data[i].childNum){
txt += "<tr><td>"+data[i].parentNum+"</td><td>"+data[i].childNum+"</td></tr>"
}
}
if(txt !=""){
$("#data").append(txt).removeClass("hidden");
}
}
}
},
error: function(jqXHR, textStatus, errorThrown){
alert(textStatus + ': ' + errorThrown);
}
});
return false;
});
$('#data').DataTable({
columns:[
{ title: "childName" },
{ title: "childNum" },
{ title: "lineNum" },
{ title: "parentName" },
{ title: "parentNum" }
]
});
//已获取数据-将其添加到表中
对于(i=0;i=0){
对于(var i=0;i删除该
标记,您不能仅在javascript之间放置一个html标记。//获取数据-将其添加到表中以供使用(i=0;我在哪里定义了aData
aData?aData是jquery插件dataTables制作和定义的东西,这就是我的问题,我不确定从我的代码中到底提取了什么来定义aData。代码的顶部是dataTables输出的结果jquery,这是发生错误的部分。脚本标记是bec因为我在HTML页面上呈现javascript,所以它必须包含在标记中。我缺少什么吗?@user1735921这不是答案。它应该作为注释放置。