我們最近在我們的服務器上建立了一個新網站:Windows 2K8 R2/IIS7/ColdFusion8 Ent。現在在本地沒有問題的關鍵查詢現在在生產中不起作用。<cfcontent type =「text/json」>打開下載對話框,以及其他ajax怪事
在下面的cfc函數中使用<cfcontent type="text/json">
會導致瀏覽器在模板調用此函數時打開一個下載對話框。
<cffunction name="getPolls" access="remote" returntype="any" hint="Gets Polls">
<cfargument name="poll_id" type="numeric" required="true">
<cfset var qPoll = 0>
<cfquery name="qPoll" datasource="#application.datasource#">
select * from polls where poll_id = #arguments.poll_id#
</cfquery>
<cfcontent type="text/json">
<cfreturn qPoll>
</cffunction>
下面是調用上述函數的jQuery代碼。當此代碼在模板(test.cfm)內運行時,會打開下載對話框,要求我保存文件test.cfm而不是實際瀏覽模板。
$(function(){
var poll_id = global_poll_id || 0;
var uniqueid = new Date().getTime();
$.getJSON("/cfcs/poll.cfc?method=getPolls&returnformat=json&queryformat=column&uniqueid=" + uniqueid, {"poll_id":poll_id}, function(res,code) {
alert(res.ROWCOUNT); // error here
})
})
如果我從功能刪除<cfcontent type="text/json">
,出現下載對話框不再;但是,Ajax回調似乎不火,並返回一個錯誤:
res is not defined
你的url/params有點奇怪,但沒有錯。你確定你不加載jquery 2次嗎?您是否嘗試使用.get()而不是.getJSON()?.無論如何,您應該處理.error函數,至少出於調試目的,並且「console.log」您的代碼prm – roselan