POST通过OS转换为GET

时间:2011-08-24 08:58:05

标签: windows-7 internet-explorer-8 internet-explorer-9 struts-1


在运行我的应用程序时,我遇到了一个非常奇怪的问题
当我访问网站并登录我的应用程序时,POST将自动转换为GET。由于所有请求参数都因此而丢失,因此页面显示错误屏幕。

此问题发生在IE-8(Windows 7)中,但在IE-8(Windows XP)中工作正常。

操作系统如何参与其中?有人遇到过这样的问题吗?这个问题也发生在IE-9中。

请参阅this问题。任何解决方案都会非常有用。

谢谢!

2 个答案:

答案 0 :(得分:2)

由于Windows 7中的IE安全设置,此问题正在发生。

在Windows-7的IE中可以选择启用/禁用保护模式。这是Vista / Windows-7的IE中的新功能,默认情况下为“Internet”区域和“本地Intranet”区域(或其中任何一个)启用此选项。在这两个地方禁用解决了这个问题。

工具 - >互联网选项 - >安全 - >互联网/本地内联网 - >取消选中“启用保护模式”选项。

答案 1 :(得分:1)

我参加这个派对有点晚了,但我也遇到了这个问题,这让我发疯了。 IE(仅)正在将一个POST变成一个GET,后者正在运行Fiddler来确定。这个线程让我分道扬but,但保护模式并非如此。事实证明,一个站点位于Internet区域(发布帖子的页面),另一个站点(接收帖子)位于Intranet区域。通过将呼叫页面添加到Intranet区域或可信站点,IE停止将POST转换为GET。看来你不能在没有IE将POST变成get的情况下调用区域堆栈,但是你可以调用 down 。我们的一个重要提示(我们在一个新窗口中打开POST(target = _blank))是当从Internet调用Intranet时,新页面在新的IE窗口中打开,但是当“正确”配置时,新的弹出窗口将是在新标签页中打开(预期的行为)。