How to load JSON Data in jQuery-jTable plugin?

Shobhit Sharma picture Shobhit Sharma · May 7, 2013 · Viewed 12.6k times · Source

I am working on creating a table form using jTable plugin. It mainly focus for ASP or PHP MVC but I'm trying to implement it with javascript/html and mongo backend.

I went through entire jTable API documentation and I found out there is possibility of populating json schema api into table, quite similiar in flexigrid.

The code looks like:

 $(document).ready(function () {
          $('#feeds-table').jtable({
              title: 'Accounts',
              pageSize: 15,
              ajaxSettings: {
                  type: 'GET',
                  dataType: 'json'
              },
              actions: {

              },
              fields: {
                  id: {
                      key: true,
                      list: false
                  },
                  username: {
                      title: 'Username',
                      width: '10%'
                  },
                  email: {
                      title: 'Email',
                      width: '10%'
                  },
                  applications: {
                      title: 'Applications',
                      width: '10%'
                  },
                  sites: {
                      title: 'Sites',
                      width: '10%'
                  },
                  verticals: {
                      title: 'Verticals',
                      width: '10%'
                  },
                  roles: {
                      title: 'Roles',
                      width: '10%'
                  },
                  profiles: {
                      title: 'Record date',
                      width: '30%',
                      type: 'date',
                      create: false,
                      edit: false
                  }
              }
          });
      });

If anyone can help me to find out where should I use URL property or is there any other method in the API reference to GET the data and display in table. Please let me know!

Answer

izazueta picture izazueta · Jun 12, 2013

You can directly load JSON data by setting the 'listAction' to a JSON document .

Example:

actions: {
  listAction: 'url/file.json',
},

Your JSON file needs to have the same fields specified and the next structure:

{
 "Result":"OK",
   "Records":[
    {"PersonId":1,"Name":"Benjamin Button","Age":17,"RecordDate":"\/Date(1320259705710)\/"},
    {"PersonId":2,"Name":"Douglas Adams","Age":42,"RecordDate":"\/Date(1320259705710)\/"},
    {"PersonId":3,"Name":"Isaac Asimov","Age":26,"RecordDate":"\/Date(1320259705710)\/"},
    {"PersonId":4,"Name":"Thomas More","Age":65,"RecordDate":"\/Date(1320259705710)\/"}
   ]
}

The common way is to point the 'listAction' to a server side script (PHP,ASP.NET...) that return the above JSON object.

Check the listAction API reference for more information: ApiReference-listAction