2016-06-21 4 views
-2

Я получаю синтаксическую ошибку на, казалось бы, тонком коде, также ошибка не имеет смысла, так что указывает на какую-то нецензурную игру. Тем не менее, я не могу точно определить это. В первой строке «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>&nbsp;" + data.Name +"</a>"; 
      } else { 
      return "<a href='/" + data.Path + "' target='_blank'><i class='fa " + getFileIcon(data.Ext) + "'></i>&nbsp;" + 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> 
+1

Часто вызвано ложным ухом кролика, скобой, скобкой или несогласованными круглыми скобками. –

+1

'' aoColumns ": [' является синтаксической ошибкой, если она не находится внутри инициализатора объекта. –

+0

Вы используете библиотеку? –

ответ

1

Что у вас есть выглядит как содержание прицельного инициализаторе, но без начала и конца одного. Например, это справедливо:

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>&nbsp;" + data.Name +"</a>"; 
      } else { 
      return "<a href='/" + data.Path + "' target='_blank'><i class='fa " + getFileIcon(data.Ext) + "'></i>&nbsp;" + 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 массиве
0
var obj = { 
    "key": value 
}; 

Где ваши фигурные скобки? Вы просто пытаетесь определить ключи объектов, не помещая их на объект, поэтому вы получаете синтаксическую ошибку.

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>&nbsp;" + data.Name +"</a>"; 
     } else { 
     return "<a href='/" + data.Path + "' target='_blank'><i class='fa " + getFileIcon(data.Ext) + "'></i>&nbsp;" + data.Name +"</a>"; 
     } 
    } 
    } 
] 

То же самое для fnCreatedRow.

Если вы пытаетесь создать , создайте объект JavaScript с указанными выше элементами, посмотрите другие ответы.

Смежные вопросы