Отображение ответа ajax с jquery

У меня есть Coldfusion cfc, который запрашивает данные в базе данных. Я хотел бы вызвать этот CFC и отобразить ответ Ajax в DIV. В конце концов я хотел бы отформатировать ответ с HTML. В настоящее время у меня возникают проблемы с отображением ответа. Это то, что я до сих пор.

Вот код: 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>

Прямо сейчас я получаю этот ответ от cfc в Firebug.

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

Однако это не будет отображаться в div.

2 ответа

Решение

Используйте data.value

  success:function(data) {
    if(data) {   // DO SOMETHING     
        $('#picoutput').html(data[0].value);
    } else { // DO SOMETHING }
  }

Использовать тип данных в качестве 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 }
      }
    }
   });
Другие вопросы по тегам