Skip to Content
avatar image
Former Member

Query template returning "object object " with ajax call.

Hi Experts,

I called the xacute query in ajax and tried to bind with sap ui table.

But I could not get json data from query template,Instead it ruturning result as [object,object],[object,object],[object,object]

With static data Ui5 table is working fine but if bind it  following way is  working .

Pls help me to resolve it.

var oModel = new sap.ui.model.json.JSONModel();

$.ajax({

   type: "POST",

url:'http://172.25.7.21:50000/XMII/Illuminator?QueryTemplate=Test/UI5/GetMaterialXacute&Content-Type=text/json',  

success: function (data) {

alert("ok"+data);

var rows = data.Rowsets.Rowset[0].Row;

alert("rows"+rows);// returning object...... instead of actual results...

oModel.setData({modelData: rows});

  oTable.setModel(oModel);

  oTable.bindRows("/modelData");

},

error: function (err) {

    alert("Local error callback.");

  }     

     });//ajax close  

Regards,

Raj.

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

2 Answers

  • Dec 30, 2014 at 07:27 PM

    Hi Raj,

    How are you binding the columns?

    Basically, data.Rowsets.Rowset[0].Row gives json output only. You need to bound elements using names you get under object[]of the row.

    Let's say a column in Rowset[0] is "name", then columns in ui.table should be binded as "{name}".

    Hope this helps.

    Regards,

    Swaroop

    Add comment
    10|10000 characters needed characters exceeded

  • Dec 30, 2014 at 10:47 PM

    Your alert outputs '[object]' etc because rows var is an object. Google "json to string" for ways to look at the content of your object.

    Add comment
    10|10000 characters needed characters exceeded

    • Hi Raj,

      Please refer:

      SAPUI5 SDK - Demo Kit

      use something like shown below:

      Create a column -

      var oColumn = new sap.ui.table.Column({

      label: new sap.ui.commons.Label({text: "Material No."}),

      template: new sap.ui.commons.TextView().bindProperty("text", "MatNo"),

      width: "200px"

      });

      Add this column to your table:

      oTable.addColumn(oColumn);

      Thanks,

      Swaroop