6

データベースにデータを照会するColdfusioncfcがあります。そのcfcを呼び出して、div内にajax応答を表示したいと思います。最終的には、応答をhtmlでフォーマットしたいと思います。現在、応答の表示に問題があります。これは私がこれまでに持っているものです。

これがcfcです:Asset.cfc

<cffunction name="Asset" access="remote" returntype="array">
        <cfargument name="asset_id" type="string" required="yes">

         <!--- Define the local scope. --->
          <cfset var LOCAL = {} />    
          <cfset var qPics = "" />
          <cfset var result = arrayNew(1) />
          <cfset var PicStruct  = '' />

        <cfquery name="Pics">
        SELECT DISTINCT aq.ID
        FROM AAssignment a 
        INNER JOIN Assets aq ON aq.ID = a.Asset
        WHERE a.AssetItem = <cfqueryparam cfsqltype="cf_sql_varchar" value="#arguments.assetgrp_id#">                
        </cfquery>

         <cfloop query="Pics">
            <cfset PicStruct = StructNew() />
            <cfset PicStruct["value"] = ID />
            <cfset ArrayAppend(result,PicStruct) />
          </cfloop>

        <cfset myResult="#result#">
        <cfreturn myResult>
    </cffunction>

これがjqueryです

   <script>
    var caseid = <cfoutput>'#URL.ID#'</cfoutput>

    $.ajax({
          type:'GET',
          url:'Asset.cfc?method=Asset&returnformat=json',
          dataType: "json",
          data: {
              asset_id:     caseid,
            },
          success:function(data) {
            if(data) {   // DO SOMETHING     
                $('#picoutput').html(data);
            } else { // DO SOMETHING }
          }
        }
       });
    </script>

<div id="picoutput"></div>

現在、Firebugのcfcからこの応答が返されます。

[{"value":"3277C2B9-155D-D714-40143A59A8290252"}]

ただし、divには表示されません。

4

2 に答える 2

8

data.valueを使用する

  success:function(data) {
    if(data) {   // DO SOMETHING     
        $('#picoutput').html(data[0].value);
    } else { // DO SOMETHING }
  }
于 2013-03-15T17:47:58.510 に答える
7

応答をhtmlとして送信する場合は、データ型をHTMLとして使用します

$.ajax({
      type:'GET',
      url:'Asset.cfc?method=Asset&returnformat=json',
      dataType: "html",  //<---- here
      data: {
          asset_id:     caseid,
        },
      success:function(data) {
        if(data) {   // DO SOMETHING     
            $('#picoutput').html(data);
        } else { // DO SOMETHING }
      }
    }
   });
于 2013-03-15T17:49:58.087 に答える