I am calling the Coldfusion component (cfc) using jQuery.post (). I need an integer or string representation of the number returned for use in the url.
{"PAGE":"My Page Title","ID":19382} or {"PAGE":"My Page Title","ID":"19382"}
Instead of what I get, this is a decimal number:
{"PAGE":"My Page Title","ID":19382.0}
The following HTML needs to be updated:
<a href="page.cfm?id=19382" id="pagelink">My Page Title</a>
It is clear that there are several answers:
1) I could use jQuery to capture the number to the left of the decimal point.
2) I could force Coldfusion to send the number as a string.
3) I could generate the whole side of the link server and just replace the whole HTML link tag (not the preferred answer, but maybe this is the best)
Does anyone know how to make 1 or 2? Is it improved 3?
Relevant Javascript: (not optimized)
$(".link").live('click', function () { var $linkID, serviceUrl; serviceUrl = "mycfc.cfc?method=getPage"; $linkID = $(this).attr("rel"); $.post(serviceUrl, { linkid: $linkID }, function (result) { $('#pagelink').val(result.TITLE); if (result.FMKEY.length) {
My CFC:
<component output="no"> <cfsetting showdebugoutput="no"> <cffunction name="getPage" access="remote" returnFormat="JSON" output="no" hint="Looks up a Page Title and ID"> <cfargument name="linkID" type="string" required="yes"> <cfset var page = queryNew("id,title")> <cfset var result = structNew()> <cfquery datasource="myDatasource" name="page"> SELECT TOP 1 id, title FROM pages WHERE linkID = <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.linkID#"> </cfquery> <cfif page.recordcount> <cfset result.id = page.id> <cfset result.title = page.title> </cfif> <cfreturn result> </cffunction> </component>