我有一个网站,基本上允许客户使用可配置的项目构建购物车。用户将选择一个项目,他们将被提示选择他们想要的第一个选项,他们会被发送到他们选择第二个选项的第二步,等等。
步骤数和选项数是可变的,因为它们是由客户端定义的。通常该项目只有2-3步,有5-10个选项。但是,为了使客户更快,如果给定步骤只有一个选项可用,它将自动被选中,用户将被发送到下一步。
客户决定设置一个包含10个以上步骤的项目,每个步骤只有一个选项。这导致整个过程自动选择所有内容。 FireFox不喜欢这个,因为它给出了错误
Firefox已检测到该服务器 正在重定向此请求 以永远不会的方式解决 完整。
(我没有检查IE或Chrome,虽然它可能会出现类似的错误)。
解决此问题的最佳方法是什么?
现在这个过程基本上是
Page.aspx?step=#
我可以对代码或页面进行任何更改,以便FireFox不会认为我处于无限循环中吗?
答案 0 :(得分:4)
如果#每次都不同,我会感到很惊讶你会遇到无休止的重定向错误,但无论如何,这似乎不是最好的架构。基本上,如果代码决定一个步骤可以自动完成,它会立即重定向到具有新步骤编号的同一页面吗?
为什么不在不重定向的情况下让代码执行此操作,根据需要在服务器代码中增加页码,并直接向他们显示正确的步骤,而不必重定向?
无论您在每个步骤发布POST时发生了什么,我都认为您可以在代码中轻松完成而无需实际发布新帖子。
答案 1 :(得分:1)
我猜这样的事情会起作用:
如果数据只包含一个选项,则:
(3.1)存储选项
(3.2)增加局部阶跃变量
(3.3)转到2
使用步骤2中的数据加载页面
当你的代码在Page.aspx?step = 1上时,你的代码如何处理跳过选项并将Page.aspx?step = 10输入地址栏?