为了调试我想转储到我的网页的某些变量。我怎样才能做到这一点从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
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top