2011-11-17 196 views
1

我正在使用cfajaxproxy從數據庫中獲取數據並顯示它。例如,我有一個有國家代碼的下拉菜單。在更改國家代碼時,它應該從數據庫中顯示正確的國家名稱。但其返回的未定義值。以下是代碼cfajaxproxy返回undefined

<cfajaxproxy cfc="cfcProxy" > 

<script language="javascript"> 
function getCountry(code) 
{ 
var code=document.getElementById('code').value; 
var object=new cfcProxy(); 
object.setCallbackHandler(getCountryResult); 
object.setErrorHandler(errorhandler); 
object.getCountrylist(code); 
} 
function getCountryResult(result) 
{ 
alert(result.value); 
document.getElementById('country').innerHTML=result; 
} 
function errorhandler() 
{ 
alert("Problems running proxy"); 
} 

Country code: <select name="code" id="code" onchange="getCountry();"> 
<cfoutput> 
<cfloop query="getCountrylistfrmDB"> 
<option value="#code#">#code#</option> 
</cfloop> 
</option> 
</cfoutput> 
</select><br><br> 

<div id="country"></div> 

cfcProxy.cfc is 

<cffunction name="getCountrylist" access="remote" returntype="query"> 
<cfargument name="code" required="yes"> 
<cfquery name="getCountrylistfrdisp" datasource="test"> 
select country from countrycode where code = "#arguments.code#"-> 
</cfquery> 
<cfreturn getCountrylistfrdisp> 
</cffunction> 

回答

2

您正在從您的cfc返回查詢,但引用了result.value。使用console.log(結果)查看具體哪些屬性可供您參考 - 我非常確定「價值」不是其中之一。另外,我非常確定將innerHTML分配給結果對象本身將不起作用 - 這也必須是正確的屬性。