2011-08-17 29 views
12

Tôi có dòng mã này trong JSP của mình. (Tôi đang sử dụng struts 1.3)Phương thức POST được chuyển đổi thành GET trong IE-9

< html: form action = "screening/mine.do" method = "post" > . . . </html: biểu mẫu>

Khi hành động tương ứng với mine.do được gọi (sử dụng struts-config.xml), trang sẽ được gửi dưới dạng GET thay vì POST. Tất cả các tham số yêu cầu bao gồm các thông số yêu cầu đều bị mất do điều này. Vấn đề này chỉ xảy ra trong IE-9.

Phản hồi vẫn là POST khi tôi sử dụng các phiên bản IE khác hoặc bất kỳ trình duyệt nào khác. Làm thế nào để tôi thực hiện câu trả lời vẫn là POST trong IE-9?

CHỈNH SỬA: Tôi đã quan sát thêm một vấn đề nữa. Bất cứ khi nào trang được hiển thị trong một cửa sổ mới, vấn đề này xảy ra. Những nơi khác, POST hoạt động tốt trong IE-9.

Ngoài ra, vấn đề này xảy ra trong Win7/IE-8, nhưng hoạt động hoàn toàn tốt trong XP/IE-8. Có cái gì để làm với hệ điều hành là tốt ???

Mọi giải pháp sẽ hữu ích.

Cảm ơn !!

Trả lời

12

Sự cố này xảy ra do cài đặt bảo mật trong IE trong Windows 7. Nó cũng xảy ra trong IE-8 của Win-7. (Nhưng hoạt động tốt trong IE-8 của Win-XP)

Có tùy chọn Bật/Tắt chế độ được bảo vệ trong IE của Windows-7. Đây là một tính năng mới có trong IE của Vista/Windows-7 và tùy chọn này được kích hoạt theo mặc định cho vùng "Internet" và "Intranet cục bộ" (hoặc bất kỳ một trong số chúng). Vô hiệu hóa tại 2 địa điểm này đã giải quyết được vấn đề.

Công cụ -> Tùy chọn Internet -> Bảo mật -> Internet/Intranet cục bộ -> Bỏ chọn tùy chọn "Bật chế độ được bảo vệ".

+2

vì chúa ơi, TẠI SAO họ đang làm điều này ??? – IlliakaillI

+0

Tôi rất vui vì bạn đã viết * cả * câu hỏi và câu trả lời, cả hai vì vậy tôi có thể tìm thấy chúng và vì vậy tôi có thể cung cấp cho bạn đại diện cho mỗi! Cảm ơn rất nhiều. – shambulator

0

Hãy thử cách này: method="POST".

Tiêu chuẩn nêu rõ rằng phương pháp có thể có giá trị GET | POST (lưu ý các mũ).

+0

Tôi đã thử sử dụng POST in caps. Vẫn phản hồi đang được chuyển đổi thành GET .. Tôi cũng đã thử sử dụng GET làm việc xung quanh. Nhưng vấn đề là, nếu có nhiều tham số, URL sẽ trở nên quá dài và do đó, một trang lỗi sẽ xuất hiện. – Sri127

0

Chúng tôi nhận thấy rằng có một số cảnh báo bảo mật ngăn chặn quá trình xử lý để người dùng xác nhận. Khi việc sử dụng thừa nhận cảnh báo, trình duyệt sẽ gửi một nhận thay vì một bài đăng. Điều này đã xảy ra trong IE8, không chắc chắn nếu nó vẫn xảy ra trong IE9.

+0

Vấn đề này là do một số cài đặt bảo mật trong trình duyệt IE của WIN-7. – Sri127

2

TL; DR: Đảm bảo cả hai trang web đều nằm trong cùng một vùng. Tôi đã có các trang web trong hai khu vực khác nhau và gọi lên các khu vực ngăn xếp đã phá vỡ IE.

Đối với bất cứ ai tình cờ trên này (như tôi đã làm), nhưng phát hiện ra rằng các thiết lập Protected Mode không giải quyết được nó, tôi đã viết này lên trên thread khác: https://stackoverflow.com/a/12167814/649249

giải quyết nó cho tôi.

Các vấn đề liên quan