POST method getting converted to GET in IE-9

这一生的挚爱 提交于 2019-11-27 17:38:38

问题


I have this line of code in my JSP. (I'm using struts 1.3)

<html:form action="screening/mine.do" method="post"> . . . </html:form>

When the action corresponding to mine.do is invoked (using struts-config.xml), the page is getting submitted as GET instead of POST. All the request parameters including the required ones are getting lost due to this. This issue occcurs only in IE-9.

The response remains as POST when I use other versions of IE or any other browsers. How do I make the response to remain as POST in IE-9 ?

EDIT : I observed one more issue in this. Whenever the page is rendered in a new window, this issue occurs. Other places, the POST works fine in IE-9.

Also, this issue occurs in Win7/IE-8, but works absolutely fine in XP/IE-8. Is there something to do with the OS as well???

Any solutions would be useful.

Thanks!!


回答1:


This issue was happening due to a security setting in IE in Windows 7. It also happens in IE-8 of Win-7. (But works fine in IE-8 of Win-XP)

There is an option of Enabling/Disabling protected mode in IE of Windows-7. This is a new feature present in IE of Vista/Windows-7 and this option is enabled by default for “Internet” zone and “Local Intranet” zone(or any one of them). Disabling at these 2 places solved the issue.

Tools -> Internet Options -> Security -> Internet/Local Intranet -> Uncheck on the "Enable protected mode" option.




回答2:


TL;DR: Ensure the two sites are in the same zone as well. I had sites in two different zones and calling up the zone stack broke IE.

For anyone that stumbles across this (like I did), but finds that the Protected Mode setting doesn't resolve it, I wrote this up on another thread: https://stackoverflow.com/a/12167814/649249

Resolved it for me.




回答3:


Try this: method="POST".

The standard specifically states that method can have the value GET | POST (note the caps).




回答4:


We have noticed that there are some security warnings that halt the processing in order for the user to acknowledge. Once the use acknowledges the warning the browser sends a get rather than a post. This has been happening in IE8, not sure if it still happens in IE9.



来源:https://stackoverflow.com/questions/7096343/post-method-getting-converted-to-get-in-ie-9

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!