如何在cfscript标签内部进行cfdump?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在cfscript标签内部进行cfdump?相关的知识,希望对你有一定的参考价值。
为了调试我想将某些变量转储到我的网页上。我怎么能从cfscript标签内做到这一点?
我尝试了以下但它不起作用:
<cfscript>
...
<cfif cgi.REMOTE_ADDR eq "IP">
<cfdump var="#var1#"><br/>
</cfif>
...
</cfscript>
关于可以做什么的任何线索?
答案
您不能像CF 9之前的版本那样直接执行此操作。但是,您可以使用CFLib中的dump() UDF。那里有一整个UDF库,它们模仿没有直接CFSCRIPT等价物的CF标签。
ColdFusion 9(及以上)提供writeDump()
功能。
Adobe文档Linkfor WriteDump()函数
另一答案
像writeDump()一样使用writeOutput()
参见CF 9参考文献中的writeDump
另一答案
以下是不是更容易和直接?
oAdmin = createObject("component", "cfide.adminapi.base");
oAdmin.dump(myVar);
它适用于CF7和前进,甚至更早。
另一答案
编写自己的内容也相当容易。您只需在cfml而不是cfscript中定义一个函数。您也可以使用它来做cfaborts和cfloops。
这样的事情(脱离我的头顶......没有执行)。
<CFFUNCTION NAME="MyDump">
<CFARGUMENT NAME="OBJ" Required="TRUE">
<CFDUMP VAR="#Obj#">
</CFFUNCTION>
<CFSCRIPT>
if(cgi.REMOTE_ADDR eq "IP"){
MyDump(Var1);
}
</CFSCRIPT>
另一答案
现在,在启动ColdFusion 11的cfscript中允许使用普通标签名称
<cfscript>
cfdump (var=#myVar#);
</cfscript>
另一答案
<cffunction name="setAbort" access="private" returntype="void" output="false">
<cfdump var="#arguments#"/><cfabort>
</cffunction>
另一答案
对于转储,我们使用Writedump(myvar);而不是在cfscript中我们使用abort;而不是退出任何实例的程序执行。我们使用writeoutput();代替
<cfoutput>#myvar#</cfoutput>
下面是cfscript中转储和中止的代码。
writedump(myvar); for dump
abort; for stop execution of programm
writeoutput(myvar); for output within cfscript
以上是关于如何在cfscript标签内部进行cfdump?的主要内容,如果未能解决你的问题,请参考以下文章
cfscript中IF块内的coldfusion continue关键字/奇怪的行为