i have code trying retrieve data model.findall() , display in ui table
model.js
define(['jquery', 'can'], function ($, can) { var servicemodel = can.model.extend({ findall: function (params,servicename) { return $.ajax({ type: 'post', datatype: 'json', contenttype: 'application/json', url: 'data/+ servicename', success: function (data) { console.log("success "); }, error: function () { console.log("error"); } }); } }, {}); return servicemodel;
});
controller.js
servicemodel.findall(params,"sp_table", function(data) { if (data.status === "success") { $('#idtable').datatable().fncleartable(); $('#idtable').datatable().fnadddata(data.result); }else{ alert("inside alert"); } });
issue in servicemodel.findall() unable data inside servicemodel.findall() because data in form of stored procedure or macro, getting using "servicename" function above please let me know how resolve issue.
you can access raw xhr data ajax call , convert appropriate format overriding parsemodels method:
https://canjs.com/docs/can.model.parsemodels.html
overwriting parsemodels if service returns data like:
{ thingstodo: [{name: "dishes", id: 5}] } want overwrite parsemodels pass models expects like:
task = can.model.extend({ parsemodels: function(data){ return data.thingstodo; } },{}); like:
task = can.model.extend({ parsemodels: "thingstodo" },{}); can.model.models passes each instance's data can.model.model create individual instances.
in example above, response nested json: in yours, procedure or macro. have opportunity here in parsemodels rewrite response in appropriate format.
Comments
Post a Comment