我在看似精细的代码上遇到语法错误,错误也没有意义,因此表明存在一些犯规。但是,我似乎无法确定它。在第一行," aoColumns: [
"它声明在声明之前有一个缺失的分号。以下是有问题的代码:
<script type="text/javascript">
"aoColumns": [
{ "sTitle": "", "mData": null, "bSortable": false, "sClass": "head0", "sWidth": "55px",
"render": function (data, type, row, meta) {
if (data.IsDirectory) {
return "<a href='#' target='_blank'><i class='fa fa-folder'></i> " + data.Name +"</a>";
} else {
return "<a href='/" + data.Path + "' target='_blank'><i class='fa " + getFileIcon(data.Ext) + "'></i> " + data.Name +"</a>";
}
}
}
]
"fnCreatedRow": function(nRow, aData, iDataIndex) {
if (!aData.IsDirectory) return;
var path = aData.Path;
$(nRow).bind("click", function(e){
$.get('/files?path='+ path).then(function(data){
table.fnClearTable();
table.fnAddData(data);
currentPath = path;
});
e.preventDefault();
});
};
</script>
答案 0 :(得分:1)
您所拥有的内容与对象初始值设定项的内容相似,但没有开头和结尾。例如,这是有效的:
=IIf(Fields!HOLDER_UNIT.Value = 'BOX', Sum(Fields!f1.Value) + Sum(Fields!f3.Value),0)
变化是:
var object = {
"aoColumns": [
{ "sTitle": "", "mData": null, "bSortable": false, "sClass": "head0", "sWidth": "55px",
"render": function (data, type, row, meta) {
if (data.IsDirectory) {
return "<a href='#' target='_blank'><i class='fa fa-folder'></i> " + data.Name +"</a>";
} else {
return "<a href='/" + data.Path + "' target='_blank'><i class='fa " + getFileIcon(data.Ext) + "'></i> " + data.Name +"</a>";
}
}
}
],
"fnCreatedRow": function(nRow, aData, iDataIndex) {
if (!aData.IsDirectory) return;
var path = aData.Path;
$(nRow).bind("click", function(e){
$.get('/files?path='+ path).then(function(data){
table.fnClearTable();
table.fnAddData(data);
currentPath = path;
});
e.preventDefault();
});
}
};
var object = {
移除;
以前的};
,仅使其成为}
};
以关闭对象,
阵列结束]
后添加aoColumns
答案 1 :(得分:0)
var obj = {
"key": value
};
你的花括号在哪里?您只是尝试定义对象键而不将它们放在对象上,这就是您获得语法错误的原因。
var my_object = {
"aoColumns": [
// code here
],
"fnCreatedRow": function(nRow, aData, iDataIndex) {
// function definition here
}
};
答案 2 :(得分:0)
你所拥有的是无效的JavaScript语法。
假设您要将数组分配给变量aoColumns
,请执行以下操作:
var aoColumns = [
{ "sTitle": "", "mData": null, "bSortable": false, "sClass": "head0", "sWidth": "55px",
"render": function (data, type, row, meta) {
if (data.IsDirectory) {
return "<a href='#' target='_blank'><i class='fa fa-folder'></i> " + data.Name +"</a>";
} else {
return "<a href='/" + data.Path + "' target='_blank'><i class='fa " + getFileIcon(data.Ext) + "'></i> " + data.Name +"</a>";
}
}
}
]
fnCreatedRow
也是如此。
如果您尝试使用上述两个元素创建JavaScript对象,请查看其他答案。