tabla - mostrando una respuesta ajax con jquery
mostrar datos de mysql en php con ajax (2)
Tengo un cfc de Coldfusion que consulta una base de datos en busca de datos. Me gustaría llamar a ese cfc y mostrar la respuesta ajax dentro de un div. Eventualmente me gustaría formatear la respuesta con html. Actualmente estoy teniendo problemas para mostrar la respuesta. Esto es lo que tengo hasta ahora.
Aquí está el 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>
Aquí está el 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>
Ahora mismo obtengo esta respuesta del cfc en Firebug.
[{"value":"3277C2B9-155D-D714-40143A59A8290252"}]
Sin embargo, no se mostrará en el div.
Use data.value
success:function(data) {
if(data) { // DO SOMETHING
$(''#picoutput'').html(data[0].value);
} else { // DO SOMETHING }
}
use el tipo de datos como HTML si está enviando una respuesta como 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 }
}
}
});