I am using print widget to print map, but receive this error "Uncaught TypeError: Converting circular structure to JSON"
Hi Wei,
I see this thread has been hanging out for a few months without a reply, so hopefully I'm not too late...
I recently encountered this myself and discovered a resolution. In my particular case, I had a dojox datagrid embedded within the mapping application. When the grid became populated with a data store, in this case:
var data = {
identifier: "col_ID", //pk
label: "col_label", //display field
items: allItems
};
//create data store and bind to grid
store = new ItemFileReadStore({
data: data
});
var grid = registry.byId("jGrid");
grid.setStore(store);...the array allItems created a circular reference in the API print widget JavaScript during jsonification of the map. I resolved it, not so elegantly as it were, by performing a deep clone of the data store's items array. Here's the resolution for me:
//deep clone original items object
var newArray = JSON.parse(JSON.stringify(allItems.slice()));
var data = {
identifier: "col_ID", //pk
label: "col_label", //display field
items: newArray
};
//create data store and bind to grid.
store = new ItemFileReadStore({
data: data
});
var grid = registry.byId("jGrid");
grid.setStore(store);Hope this helps!