I can't figure this thing out for the life of me, and I know it's got to be something simple that I'm missing.
Here's what I'm trying to do. I'm using jQuery to hit a CFC and return data. The CFC actually queries the database, loops through results and creates list items for each row. I then return the list items to jQuery, which populates my UL with them. Here's my problems and what I've done so far: * returning the data from my CFC as a string causes jQuery to actually display the html code in the brower, so I literally see "<li>Eric Cobb</li>". * returning the data as JSON shows the list items correctly, but my page is littered with "\\n\\t\\t\\t\\t" at the end of every record. * I used a regex to clean up all of the line breaks, carriage returns, and tabs in my CFC before returning to jQuery and that works. * In every record that contains a slash "/" in the data, the slash has been replaced with "\\\/". * Nothing I do can get rid of these slashes. I've tried RegEx, SerializeJSON(), and JSStringFormat() in CF, and a whole whoost of jQuery escape(), html(), text(), and replace() functions, and nothing works. I think my biggest problem is that I've staring at and fighting with this thing for too long. Here's my method: <!--- get a list of all external customers for AJAX calls ---> <cffunction name="AJAXgetAllCustomers" access="remote" output="false" returnformat="json"> <!--- create a struct to hold our local variables. ---> <cfset var loc = structNew()> <!--- returns a query. ---> <cfset loc.custList = getAllCustomers() /> <cfsavecontent variable="loc.rtnContent"> <cfoutput query="loc.custList"> <li>#Trim(loc.custList.full_name)# - #Trim(loc.custList.addr_line1)#, #Trim(loc.custList.city)#, #Trim(loc.custList.state)# </cfoutput> </cfsavecontent> <!--- remove all line breaks, carriage returns, and tabs. ---> <cfset loc.rtnContent = ReReplace(loc.rtnContent,"[#chr(10)#|#chr(13)#|#chr(9)#]","","ALL")> <cfreturn SerializeJSON(Trim(loc.rtnContent))> </cffunction> And here is my jQuery call: <script type="text/javascript"> $(document).ready(function(){ $('#contentdiv').load('myCFC.cfc?method=AJAXgetAllCustomers'); }); </script> So, can someone please tell me how to escape the characters so that I can get rid of the "\\\/" in my display output? And while I'm on the subject, surely there has got to be a better way than having to manually escape every character individually that may cause problems. I shouldn't have to run regex and whatnot to make everything work. In my mind, SerializeJSON() (or returnformat="json" for that matter) should have everything escaped and formatted nicely for jQuery, who should then know how to parse everything and display is correctly. Am I wrong? -- Thanks, Eric Cobb ECAR Technologies, LLC http://www.ecartech.com http://www.cfgears.com ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology-Michael-Dinowitz/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:334434 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm