如何做一个CFSCRIPT标签内cfdump?
-
22-08-2019 - |
题
为了调试我想转储到我的网页的某些变量。我怎样才能做到这一点从CFSCRIPT标签内?
我尝试以下,但它是不工作:
<cfscript>
...
<cfif cgi.REMOTE_ADDR eq "IP">
<cfdump var="#var1#"><br/>
</cfif>
...
</cfscript>
这是什么可以做任何线索?
解决方案
您不能直接做的一样,在CF 9.可以之前的版本,但是,使用转储() UDF发现在CFLib。还有的UDF的全库有模仿CF标签没有直接CFSCRIPT当量。
的ColdFusion 9(及以上)提供writeDump()
功能。
的Adobe文档Linkfor WriteDump()功能
其他提示
使用writeDump()等你如何使用writeOutput()
见 writeDump 上CF 9参考
是不是下面的更容易和简单?
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>
现在普通标签名称允许CFSCRIPT开始的ColdFusion内11
<cfscript>
cfdump (var=#myVar#);
</cfscript>
<cffunction name="setAbort" access="private" returntype="void" output="false">
<cfdump var="#arguments#"/><cfabort>
</cffunction>
有关转储我们使用Writedump(MYVAR);而不是CFSCRIPT和我们一样使用中止;代替在任何instance.we使用writeoutput退出程序的执行();代替
<cfoutput>#myvar#</cfoutput>
下面是用于转储代码并中止在CFSCRIPT。
writedump(myvar); for dump
abort; for stop execution of programm
writeoutput(myvar); for output within cfscript
不隶属于 StackOverflow