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!
Angemeldete Mitglieder können Beiträge verfassen, Updates folgen und mehr. Neu hier? Registriere ein kostenloses Konto.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.