I recently upgraded from CF9 to CF11 (development version) running on localhost and I am having the following issue. I have a CFC that saves some data, creates a few cfcharts and saves them to disk. The following is getting added to the beginning of the JSON object that is returned to the client, causing the ajax call to fail:
This only happens when I execute the code in the CFC that creates the charts. If I comment that out, it works fine.
Message was edited by: Carl Von Stetten (changed CFGRAPH to CFCHART in title)
That is so by design. ColdFusion includes those built-in scripts to render its user interfaces. However, we're talking about UIs such as cfchart, not cfgraph. You should not be using the cfgraph tag, as it was deprecated many years ago, even before Coldfusion MX 6.
I wrote cfgraph in the title by mistake, I am using cfchart as indicated in the text where I said I was creating a few cfcharts.
This behavior was not an issue with my CF9 install, only since I upgraded to CF11.
Something perhaps went wrong during the upgrade to ColdFusion 11. ColdFusion versions 8 and 9 had a different charting engine (webCharts3D) from that of Coldfusion 11 (ZingCharts).
A workaround might be to run the CFC code later on in the page, after all regular AJAX calls have run.
Might also be a good idea to install the latest Coldfusion 11 Hot Fix. You may be suffering from a bug that has been fixed.
Best practice is what you already stated, BKBK; stop using CF UI altogether and use modern (current, more secure, faster) alternatives.
Just my two cents.
(PS - if kevinn is using CFFORM, get rid of it, too. Waste of resources.)
Only using cfchart, I have never used cfform, nor would I.
Glad to hear that. I inherited a bunch of legacy apps/sites where the previous lead developer couldn't use enough CFFORM. He used it for _every_ form-required situation. It's taking forever to undo that rabbit-hole. **headdesk** **headdesk** **headdesk**
My co-worker came up with a work around for this. He suggested that I run the portion of the code that generates the charts in a separate thread and that seems to work. I assume that whatever was triggering CF to prepend the return data was bypassed by doing this.
Kevin35399675, thanks for sharing that. Please mark it as the correct answer.
Working with CFTHREAD is something I really, really need to start learning.