我有点卡住了,我正在从cfm到.cfc进行Ajax调用。我试图检索两个结果,一个“标签”和一个“值”。这是我的JSON返回的内容:
[{“value”:“H55”,“label”:“JOHN SMITH”}]
但是,当我尝试将结果放入我的空表单字段时,它只会被[object Object]
填充任何帮助将不胜感激!
$('#ckPin').click(function() {
var RqPin = $("#RqPin").val();
$.ajax({
url: "autocomplete.cfc?method=getRqstPin",
type: "post",
dataType: "json",
data: { RqPin: ( RqPin ) },
success: function(data) {
//alert(data);
alert(JSON.stringify(data));
//$("#rqFOC").val(data["FOC"]);
$("#rqName").val(data[0]);
}, //close of SUCCESS
error: function (xhr, textStatus, errorThrown){
alert(errorThrown);
} //close of ERROR
}); //close of AJAX
});//close of CLICK
这是我的.cfc
<cffunction name="getRqstPin" access="remote" returntype="any" returnformat="json">
<cfargument name="RqPin" default="">
<cfquery name="getRqstPin" datasource="RADIUS">
SELECT [Fname] + '' + [Lname] as Fullname
,[FOC]
FROM [pins].[dbo].[Pinsdata]
Where PIN = #arguments.RqPin#
</cfquery>
<cfset returnArray = arrayNew(1)>
<cfloop query="getRqstPin">
<cfset resultStruct = StructNew() />
<cfset resultStruct["label"] = Fullname />
<cfset resultStruct["value"] = FOC />
<cfset ArrayAppend(returnArray,resultStruct) />
</cfloop>
<cfreturn returnArray>
</cffunction>
答案 0 :(得分:0)
data[0]
是对象。您应该将value
或label
设置为val()
至$("#rqName")
。
$("#rqName").val(data[0].value);
或
$("#rqName").val(data[0].label);