我在cfc中創建了一個cfhttp調用方法,如下所示。有一個問題,我需要調試的cfc。我正在使用下面的代碼來調用該方法進行調試。但是,writedump如下圖所示。我想知道如何從我的調試代碼中訪問cfc外部的local.search_result並查看它返回的內容。當我從測試頁面對下面的solr引擎進行直接cfhttp調用時,出現如下錯誤。我以前沒有使用solr或json或xml。所以請糾正我,如果我在這裏錯了。從調用頁面訪問cfc中的方法中的變量
<cfscript>
myReturn = new cfcs.search().newsearch(criteria = 'congress', evidence_based_only = 'true');
writedump(myReturn);
</cfscript>
<cfhttp url="#variables.search_url#" result="local.temp_result" /> <!--- may want to add some error-handling here --->
<cfif local.temp_result.statusCode NEQ "200 OK" OR NOT isJSON(local.temp_result.fileContent)>
<!--- Some sort of error - return out with no results --->
<cfmail from="[email protected]" to="[email protected]"
subject="bad url"
type="html"
>The following search URL failed on #variables.SVR#: <a href="#variables.search_url#">#variables.search_url#</a></cfmail>
<cfreturn this />
</cfif>
<cfset local.search_result = deserializeJSON(local.temp_result.fileContent) />
<cfset local.max_score = local.search_result.response.maxScore />
<cfset variables.result_cnt = local.search_result.response.numFound />
在CFHTTP調用的URL是這樣的Solr的服務
http://abcs.def.com:8983/solr/test/select?q=journal_name:congress&rows=100&sort=publish_dt%20desc
看起來好像您試圖反序列化不是JSON的字符串。你能顯示錯誤的其餘部分,拋出錯誤的確切代碼嗎? –
嚴格遵守你的散文,你不應該能夠從函數外部訪問函數內的變量。所有的調用代碼都應該能夠看到函數返回的內容。要調試該函數,請使用相同的工具來調試其他任何東西。 cfoutput和cfdump可以讓你看到發生了什麼,但是你必須在函數內部使用它們,然後在你想清楚的時候拿走它們。 –
我在cffunction中嘗試了以查看cfhttp調用的solr url。該頁面沒有中止...任何想法我怎麼能轉儲變量 –
user747291