2015-06-11 12 views
0

Я использую JQuery datatablesJQuery DataTables 1.10 -check JSON на первый

Когда мой JSON является:

{"apps": 
    {"app": 
     [{"id":"1","user":"test"}] 
    } 
} 

и DataTable работает хорошо

$('#getInfo') 
    .DataTable(
      { 
       "ajax" : { 
        "url" : "getinfo", 
        "dataSrc" : "apps.app" 
       }, 
       "columns" : [ 
         { 
          "data" : "id" 
         }, 
         { 
          "data" : "user" 
         }, 
       ], 

      }); 

Но может быть проблема, json может быть пустым, если бэкэнд не получит ничего.

{"apps":null} 

Если в этой ситуации, datatable будет problem````

консольного сообщение показать:

Uncaught TypeError: Cannot read property 'length' of undefined  

Я хочу, чтобы проверить, если DataTable ничего не получит, предупредит сообщение пользователя
Прошу вас, господа!

ответ

0

dataSrc также может быть функцией, которую вы можете использовать для манипулирования JSON до ввода элементов или в этом случае сделать что-то (как возвращающее допустимый пустой объект), если ничего не возвращается.

ajax: { 
    url: "getinfo", 
    dataSrc: function(json) { 
    if (typeof json.apps == 'object') { 
     return json.apps.app 
    } else { 
     return [{"id":"","user":""}] 
    } 
    } 
} 
... 
Смежные вопросы