Javascript 同时具有onError和cferror的ColdFusion问题
我遇到一个问题,我的onError方法在application.cfc文件中不再有效。昨天程序捕获错误并正确显示error.cfm,但现在我只得到一个500错误。我的经理昨天可能已经更改了文件中的一些内容,但我们似乎已经重新创建了它,但没有解决任何问题 我目前使用onError,但我尝试了cferror。使用cferror时,数据输入表单甚至不会加载 代码如下。OneError被阻止,因为我用cferror代码显示它。只需删除cferror和blocks,如果要使用它,则会出现错误:Javascript 同时具有onError和cferror的ColdFusion问题,javascript,html,server,coldfusion,Javascript,Html,Server,Coldfusion,我遇到一个问题,我的onError方法在application.cfc文件中不再有效。昨天程序捕获错误并正确显示error.cfm,但现在我只得到一个500错误。我的经理昨天可能已经更改了文件中的一些内容,但我们似乎已经重新创建了它,但没有解决任何问题 我目前使用onError,但我尝试了cferror。使用cferror时,数据输入表单甚至不会加载 代码如下。OneError被阻止,因为我用cferror代码显示它。只需删除cferror和blocks,如果要使用它,则会出现错误: <!
<!--- this component controls the application's global settings / event
handlers and maintains user sessions --->
<cfcomponent>
<!--- define some basic settings --->
<cfset this.name = "QualityDataPortal" />
<cfset this.sessionManagement = "yes" />
<cfset this.setClientCookies = "no" />
<cfset this.loginStorage = "session" />
<!--- this function is triggered when our application is initialized --->
<cffunction name="onApplicationStart" access="public" returntype="boolean" output="no">
<!--- define application variables --->
<cfset application.dataSource = 'quality' />
<!--- return out --->
<cfreturn true />
</cffunction>
<cferror
template="error.cfm"
type="exception"
mailTo="Generic@org.edu" />
<!--- <!--- this function is triggered when coldfusion encounters an error --->
<cffunction name="onError" access="public" returntype="void" output="no">
<cfargument name="exception" required="yes">
<cfargument name="eventname" type="string" required="yes">
<!--- send a dump of the error via email --->
<cfmail from="QDP@org.edu" to="Generic@org.edu" subject="Quality Data Portal Error Encountered" type="html">
<cfoutput>
The following error was encountered on #dateformat(now(), 'dddd mmmm dd, yyyy')# at #timeformat(now(), 'hh:mm:ss tt')#<br /><br />
<cfdump var="#arguments.exception#">
<cftry><cfdump var="#arguments#"><cfcatch></cfcatch></cftry>
<cfdump var="#form#">
<cfdump var="#session#">
<cfdump var="#cgi#">
</cfoutput>
</cfmail>
<!--- alert the user that an error has been encountered --->
<cflocation url="error.cfm" addtoken="no">
<cfabort />
</cffunction> --->
<!--- this function is triggered when coldfusion receives a request for a template it cannot locate --->
<cffunction name="onMissingTemplate" access="public" returntype="void" output="no">
<cfargument name="targetPage" type="string" required="yes">
<!--- alert the user that the page they requested could not be found --->
<cflocation url="404.cfm" addtoken="no">
<cfabort />
<!--- return out --->
<cfreturn />
</cffunction>
</cfcomponent>
我建议,为了让您看得更清楚,删除未使用的代码cferror标记,删除不必要的注释,不要嵌套注释 然后,从onError的代码开始 注: 注意:timeformatnow,'hh:mm:ss tt',它应该使用nn表示分钟,而不是mm。
500个错误后没有代码是http,而不是coldfusi我怀疑您的错误处理程序代码抛出了一个错误。拿出标签,你不需要它。将OneError函数清空到发送电子邮件的最小值。假设这样做有效,开始重新添加代码,直到再次失败。然后解决这个问题。我甚至建议在开始时删除这一行。假设它工作正常,可以将该行添加回以查看它是否仍然工作。我怀疑该模板中的代码有问题。无论如何,我认为从错误处理程序将位置转移到另一个页面不是一个好主意。当那个页面也出现错误时,事情就变得一团糟了…@Miguel-F,是的,我同意,如果做了更改,那里可能也会有问题。
<cffunction name="onError" returntype="void" output="false">
<cfargument name="exception" required="true">
<cfargument name="eventname" type="string" required="true">
<cfmail to="Generic@org.edu" from="QDP@org.edu" subject="Quality Data Portal Error Encountered" type="html">
<cfoutput>The following error was encountered on #DateFormat(now(), "dddd, mmmm dd, yyyy")# at #TimeFormat(now(), "HH:nn:ss")#</cfoutput>
<hr />
<cfdump var="#exception#" label="Exception" />
<cfdump var="#form#" label="Form" />
<cfdump var="#session#" label="Session" />
<cfdump var="#cgi#" label="CGI" />
</cfmail>
<cflocation url="error.cfm" addtoken="false" />
</cffunction>