Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Next revision Both sides next revision
wiki:upgrade_from_3.6.4_to_3.6.5 [2010/05/20 12:59]
tony created
wiki:upgrade_from_3.6.4_to_3.6.5 [2010/05/22 08:10]
tony
Line 1: Line 1:
-Some+====== Upgrade from 3.6.4 to 3.6.5 ====== 
 +You should read this upgrade notes when you use JSON response from the server.\\ \\ 
 + 
 +With version 3.6.5 we switch from ajax complete to ajax success event. \\  
 +With this switch we directly use the jQuery parsing of JSON data. As of version 1.4.x of jQuery this parsing is strict. More information can be found [[http://​api.jquery.com/​jQuery.getJSON/​ | here]] \\ 
 +This will reflect in certain systems not to display the data. \\ \\ 
 +What you need to know if the data is not displayed when you upgrade from 3.6.4 to 3.6.5 version \\ \\ 
 + 
 +===== Valid JSON response ===== 
 + 
 + 
 +Your json response should be correct json formatted string. This mean that if your response look like this: 
 +<code javascript>​ 
 +{  
 +  total: "​xxx",​  
 +  page: "​yyy",​  
 +  records: "​zzz",​ 
 +  rows : [ 
 +    {id:"​1",​ cell:​["​cell11",​ "​cell12",​ "​cell13"​]},​ 
 +    {id:"​2",​ cell:​["​cell21",​ "​cell22",​ "​cell23"​]},​ 
 +      ... 
 +  ] 
 +
 +</​code>​ 
 + 
 +This will not work. \\ \\ 
 + 
 +In order to display the data in the grid, you should properly define the json response - i.e  
 + 
 +<code javascript>​ 
 +{  
 +  "​total":​ "​xxx",​  
 +  "​page":​ "​yyy",​  
 +  "​records":​ "​zzz",​ 
 +  "​rows"​ : [ 
 +    {"​id"​ :"​1",​ "​cell":​["​cell11",​ "​cell12",​ "​cell13"​]},​ 
 +    {"​id"​ :"​2",​ "​cell":​["​cell21",​ "​cell22",​ "​cell23"​]},​ 
 +      ... 
 +  ] 
 +
 +</​code>​ 
 + 
 +As can be seen every property should be quoted. \\ 
 + 
 +===== The "​d"​ Property ===== 
 +Switching from ajax complete to ajax success event causes to skip the jqGrid parse function, which detect automatically the so named "​d"​ property from the response (used in certain systems). \\ \\ 
 + 
 +In order to solve the problem the jsonReader should be changed so that it can interpret this property correct. \\  
 +If the default jsonReader is : 
 + 
 +<code javascript>​ 
 +jQuery("#​gridid"​).jqGrid({ 
 +... 
 +   ​jsonReader : { 
 +     root: "​rows",​ 
 +     page: "​page",​ 
 +     ​total:​ "​total",​ 
 +     ​records:​ "​records",​ 
 +     ​repeatitems:​ true, 
 +     cell: "​cell",​ 
 +     id: "​id",​ 
 +     ​userdata:​ "​userdata",​ 
 +     ​subgrid:​ {root:"​rows",​  
 +        repeatitems:​ true,  
 +       ​cell:"​cell"​ 
 +     } 
 +   }, 
 +... 
 +}); 
 +</​code>​ 
 +\\  
 + 
 +It should be changed to 
 + 
 +<code javascript>​ 
 +jQuery("#​gridid"​).jqGrid({ 
 +... 
 +   ​jsonReader : { 
 +     root: "​d.rows",​ 
 +     page: "​d.page",​ 
 +     ​total:​ "​d.total",​ 
 +     ​records:​ "​d.records",​ 
 +     ​repeatitems:​ true, 
 +     cell: "​cell",​ 
 +     id: "​id",​ 
 +     ​userdata:​ "​userdata",​ 
 +     ​subgrid:​ {root:"​d.rows",​  
 +        repeatitems:​ true,  
 +       ​cell:"​cell"​ 
 +     } 
 +   }, 
 +... 
 +}); 
 +</​code>​ 
 + 
 +Note that the cell property should not be changed

QR Code
QR Code wiki:upgrade_from_3.6.4_to_3.6.5 (generated for current page)