我有一个Coldfusion cfc,可以在数据库中查询数据。我想调用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中。
答案 0 :(得分:6)
使用 data.value
success:function(data) {
if(data) { // DO SOMETHING
$('#picoutput').html(data[0].value);
} else { // DO SOMETHING }
}
答案 1 :(得分:3)
如果您将响应发送为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 }
}
}
});