Wie erzwinge ich, dass ein Coldfusion-CFC numerische Daten über JSON als Zeichenfolge ausgibt?

Ich rufe eine Coldfusion-Komponente (cfc) mit jQuery.post () auf. Ich benötige eine Ganzzahl- oder Zeichenfolgendarstellung der zurückgegebenen Nummer zur Verwendung in einer URL.

{"PAGE":"My Page Title","ID":19382}
or
{"PAGE":"My Page Title","ID":"19382"}

Stattdessen erhalte ich eine Dezimalzahl:

{"PAGE":"My Page Title","ID":19382.0}

Erforderlich, um den folgenden HTML-Code zu aktualisieren:

<a href="page.cfm?id=19382" id="pagelink">My Page Title</a>

Konzeptionell gibt es vermutlich mehrere Antworten:

1) Ich könnte jQuery verwenden, um die Zahl links vom Dezimalpunkt zu erfassen.

2) Ich könnte Coldfusion zwingen, die Nummer als Zeichenfolge zu senden.

3) Ich könnte den gesamten Link-Server generieren und einfach den gesamten Link-Tag-HTML-Code ersetzen (nicht die bevorzugte Antwort, aber vielleicht die beste).

Weiß jemand, wie man 1 oder 2 macht? Ist 3 besser?

Relevantes Javascript: (Nicht optimiert)

$(".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) {
             // NEED the ID number WITHOUT the .0 at the end
             $('#pagelink').attr("href") = "page.cfm?id=" + result.ID;
             $('#pagelink').text(result.TITLE);
        }
    }, "json");
});

Mein 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>

Antworten auf die Frage(5)

Ihre Antwort auf die Frage