首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >会话中未定义coldfusion 9变量

会话中未定义coldfusion 9变量
EN

Stack Overflow用户
提问于 2013-07-19 05:15:05
回答 2查看 1.4K关注 0票数 0

我有一个页面,它打印一个数组,其中包含来自会话变量(session.stufailedarray)的一些信息。在页面的顶部,有一个将信息导出到excel的链接。当我尝试这个(在Firefox,IE和Chrome中)时,它工作正常。但用户不断告诉我,他们收到一条错误消息:"Element stufailarray is undefined is session“。我知道变量在那里,因为它只是把它打印到屏幕上,我可以在调试中看到它。为什么这种情况只会发生在某些时候?

生成错误的代码:

代码语言:javascript
复制
<cfset ind=0>
<cfset anArray=arrayNew(2)>
<cfloop array="#session.stufailarray#" index="k">
  <cfset ind+=1>
  <cfset session.failed=find("UPDATE FAILED: ", "#k#")>
  <cfset session.rrr=REFind("\d{9,9}", "#k#")>
  <cfset idno=mid("#k#", REFind("\d{9,9}", "#k#"), 9)>
  <cfset failed=mid("#k#", Refind("UPDATE FAILED: ", "#k#"), Len(#k#)-(Refind("UPDATE FAILED: ", "#k#")))>
  <cfset anArray[ind][1]=#idno#>
  <cfset anArray[ind][2]=#failed#>
</cfloop>

<!--- Set content type. --->
<cfcontent type="Application/vnd.ms-excel">
<cfheader name="Content-Disposition" value="filename=load_status.xls">

<cfoutput>
  <table cols=2 border=1>
    <cfloop from="1" to ="#ArrayLen(anArray)#" index="row">
      <tr>
        <td>#anArray[row][1]#</td>
        <td>#anArray[row][2]#</td>
      </tr>
    </cfloop>
  </table>
</cfoutput>
EN

回答 2

Stack Overflow用户

发布于 2013-07-19 20:09:03

试着这样做:

代码语言:javascript
复制
<!--- Set content type. --->
<cfset anArray=[]/>
<cfif isDefined(session.stufailedarray)>
    <cfset anArray=session.stufailedarray/>
</cfif>

<cfcontent type="Application/vnd.ms-excel">
<cfheader name="Content-Disposition" value="filename=load_status.xls">

<cfoutput>
  <table cols=2 border=1>
    <cfloop from="1" to ="#ArrayLen(anArray)#" index="row">
      <tr>
        <td>#anArray[row][1]#</td>
        <td>#anArray[row][2]#</td>
      </tr>
    </cfloop>
  </table>
</cfoutput>

确保您正确配置并启用了应用程序会话。要使用会话变量,请在两个位置启用它们:

应用程序管理器Application.cfc初始化代码This.sessionManagement变量或活动的cfapplication标记。ColdFusion管理器、Application.cfc和cfapplication标记还提供了配置会话变量行为的工具,包括变量超时。

Configuring and using session variables

票数 1
EN

Stack Overflow用户

发布于 2013-10-15 15:52:26

根据您的问题,您有一个名为session.stufailedarray的变量。但是,在您发布的代码(生成错误)中,您使用的是session.stufailarray。这也是您收到的错误消息。

代码语言:javascript
复制
"Element stufailarray is undefined is session"

请注意,set (available)变量failed是传递时态,error变量是现在时态。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17734010

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档