ColdFusion - 表单提交后表单变量为空
ColdFusion - Form variables empty after form submit
我的问题引用了此 Whosebug post 中提供的以下 question/answer:Form Variables are not showing up after form submit. ColdFusion
我想在上面提到的 post 中发表评论,但我没有足够的声望点数。我看到上面 Samuel Dealey 的回答表明使用 cflocation 或 location.replace() 可能导致表单变量不显示。这正是我的场景中发生的情况。
我有一个简单的注册表提交。提交表单后,表单数据将发送到名为 addCampaign.cfm 的页面。 addCampaign.cfm 包含将注册数据写入数据库的代码。将注册信息写入数据库后,我验证信息是否已写入数据库。那时,如果注册成功,我会将用户重定向到特定页面,如果不成功,则重定向回注册表单页面并显示相应的错误消息。
我试过将两者都用于重定向,并尝试使用 javascript location.replace(),两者都会导致同样的问题。
我 运行 关注的问题是:
1) 永远不会发生重定向
2) 我用它来显示结构,但它把它列为空
3) 我已经删除了 cflocation 和 location.replace() 并且可以验证我的表单元素确实存在于表单结构中。
4) 表单数据正在写入数据库,这很奇怪,考虑到表单结构显示为空。
我不明白为什么写入数据库时form struct是空的,而且我不知道为什么重定向不起作用。谁能解释一下为什么会发生这种情况?
在单个文件中考虑此代码
<cfif cgi.request_method EQ "post">
<cfdump var="#form#">
<!--- More importantly, DB inserts --->
</cfif>
<form method="post" action="?">
<!--- Lots of other fields go here too --->
<input type="submit" name="btnSubmit" id="btnSubmit" value="OK" />
</form>
如果您这样做,您就不必担心通过某种重定向推送数据。你已经在你想要的页面上了。 action="?"
基本上意味着提交到我已经在的同一个字段。请注意,文件在 GET
与 POST
.
上的行为不同
我的问题引用了此 Whosebug post 中提供的以下 question/answer:Form Variables are not showing up after form submit. ColdFusion
我想在上面提到的 post 中发表评论,但我没有足够的声望点数。我看到上面 Samuel Dealey 的回答表明使用 cflocation 或 location.replace() 可能导致表单变量不显示。这正是我的场景中发生的情况。
我有一个简单的注册表提交。提交表单后,表单数据将发送到名为 addCampaign.cfm 的页面。 addCampaign.cfm 包含将注册数据写入数据库的代码。将注册信息写入数据库后,我验证信息是否已写入数据库。那时,如果注册成功,我会将用户重定向到特定页面,如果不成功,则重定向回注册表单页面并显示相应的错误消息。
我试过将两者都用于重定向,并尝试使用 javascript location.replace(),两者都会导致同样的问题。
我 运行 关注的问题是:
1) 永远不会发生重定向
2) 我用它来显示结构,但它把它列为空
3) 我已经删除了 cflocation 和 location.replace() 并且可以验证我的表单元素确实存在于表单结构中。
4) 表单数据正在写入数据库,这很奇怪,考虑到表单结构显示为空。
我不明白为什么写入数据库时form struct是空的,而且我不知道为什么重定向不起作用。谁能解释一下为什么会发生这种情况?
在单个文件中考虑此代码
<cfif cgi.request_method EQ "post">
<cfdump var="#form#">
<!--- More importantly, DB inserts --->
</cfif>
<form method="post" action="?">
<!--- Lots of other fields go here too --->
<input type="submit" name="btnSubmit" id="btnSubmit" value="OK" />
</form>
如果您这样做,您就不必担心通过某种重定向推送数据。你已经在你想要的页面上了。 action="?"
基本上意味着提交到我已经在的同一个字段。请注意,文件在 GET
与 POST
.