dkorz
Members-
Content count
6 -
Joined
-
Last visited
About dkorz
-
Rank
Forum Newbie
-
I discovered that FusionCharts is unable to decode XML documents encoded using the default UTF-8 encoding so any text in labels or captions can not contain special characters. The documentation states that the XML must have a byte ordering mark and gives some code snippets for several web servers but not Django. Has anyone gotten this to work?
-
Encoding the ':' as %253A works, at least with Debug turned off. If debug is enabled (I'm using the JavaScript FusionCharts object) then the browser locks up and a pop-up from Adobe Flash Player 10 is displayed saying "A script in this movie is causing Adobe Flash Player 10 to run slowly. If it continues to run, your computer may become unresponsive. Do you want to abort this script?". I let it run a few times but it never recovers. I did this using FireFox 3.0.18 on Ubuntu 9.04 and FireFox 3.5.2 and IE 7 on Windows XP.
-
It is definitely the endtime parameter which include a colon to separate the hours from minutes. I tried using %3A instead of ":" but it had no effect.
-
The XML returned (I removed most of the points): <?xml version="1.0" encoding="UTF-8"?> <chart caption="10000000c9732b4d - 207800c0ffd53a9f - 1" subCaption="Average Latency (
-
Unfortunately I have to work with FusionCharts again and therefore need to get around this issue. On the Javascript console the URL provided to setDataURL() is: %2Fgims%2Fperfmon%2Fchart%2Ftimeseries_latency%3Finitiator%3D10000000c9732b4d%26target%3D207800c0ffd53a9f%26lun%3D1%26begintime%3D2009-08-17%26endtime%3D2009-08-17T23%3A59%26series%3Dread%26start%3D0%26limit%3D1440 From the debugger window: INFO: XML Data provided using dataURL method. dataURL provided: /gims/perfmon/chart/timeseries_latency?initiator=10000000c9732b4d&target=207800c0ffd53a9f&lun=1&begintime=2009-08-17&endtime=2009-08-17T23:59&series=read&start=0&limit=1440 dataURL invoked: /gims/perfmon/chart/timeseries_latency?initiator=10000000c9732b4d&target=207800c0ffd53a9f&lun=1&begintime=2009-08-17&endtime=2009-08-17T23:59&series=read&start=0&limit=1440&FCTime=109 ERROR: An error occurred while loading data. Please check your dataURL, by clicking on the "dataURL invoked" link above, to see if it's returing valid XML data. Common causes for error are: No URL Encoding provided for querystrings in dataURL. If your dataURL contains querystrings as parameters, you'll need to URL Encode the same. e.g., Data.asp?id=101&subId=242 should be Data%2Easp%3Fid%3D101%26subId%3D242 Different sub-domain of chart .swf and dataURL. Both need to be same owing to sandbox security. Network error When I click the URL I get the XML document (which works when I save it and load it as a static file served by the web server). I amusing FusionCharts v3.1.1.
-
I am evaluating FusionCharts and have gotten a simple chart to appear when using setDataXML(). I have a web service that requires querystring parameters. FC is trimming off all but the last querystring parameter and appending FCTime=nnnn. I've searched the forums and discovered the FCTime is an anti-caching mechanism (can this be turned off?). I've also seen several post where escaping the URL is supposed to fix the problem but everything I've tried has failed. My web page is simple. I include FusionCharts.js in the header and have the following in the body. <div id="id_chart" style="float: left;"></div> <script type="text/javascript"> gi.chart = new FusionCharts("/FusionCharts/Column3D.swf", "chartid", "600", "300", "0", "0" ); var dataurl = "/api/stats?" + "target=0c0202&initiator=0c0200&lun=0"; + "&begintime=2009-05-01 00:00" + "&endtime=2009-05-01 23:59"; console.log(dataurl); var url1 = encodeURI(dataurl); console.log(url1); var url2 = escape(dataurl) console.log(url2); gi.chart.setDataURL(url2); gi.chart.render("id_chart"); </script> console is the Firebug console. it shows: /api/stats?target=0c0202&initiator=0c0200&lun=0&begintime=2009-05-01 00:00&endtime=2009-05-01 23:59 /api/stats?target=0c0202&initiator=0c0200&lun=0&begintime=2009-05-01%2000:00&endtime=2009-05-01%2023:59 /api/stats%3Ftarget%3D0c0202%26initiator%3D0c0200%26lun%3D0%26begintime%3D2009-05-01%2000%3A00%26endtime%3D2009-05-01%2023%3A59 using any of the values in setDataURL yields that same results. I am running an interactive debugger on the web server so I know the request is being made (not cached by the broswer or anything else).