canjs - Can Js and Model.findAll() unable to display data in UI -


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