Just a note that your list item has no closing tag. You can try building up the string with assignments rather than using cfsavecontent. i.e.:
<cfoutput query="loc.custList"> <cfset local.result = local.result & "<li>#Trim(loc.custList.full_name)# - #Trim(loc.custList.addr_line1)#, #Trim(loc.custList.city)# #Trim(loc.custList.state)#</li>" /> </cfoutput> On Wed, Jun 9, 2010 at 6:54 PM, Josh Nathanson <p...@oakcitygraphics.com>wrote: > > In your cfsavecontent, get rid of all the tabs and carriage returns. This > will make your code less readable, but it should take care of the problem > you're having. > > So it might end up looking like this: > > <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> > > -- Josh > > > -----Original Message----- > From: Eric Cobb [mailto:cft...@ecartech.com] > Sent: Wednesday, June 09, 2010 2:35 PM > To: cf-talk > Subject: Problems with slashes in JSON > > > 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:334443 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm