2012-11-12 5 views
14

Internet Explorer 9 không gửi cookie phiên với các yêu cầu AJAX của tôi.Không có cookie phiên trên Internet Explorer 9 Các yêu cầu AJAX

Khi tôi đưa ra yêu cầu xác thực tới API của tôi qua AJAX, nó trả về phản hồi đặt cookie phiên. Các cuộc gọi tiếp theo tới API qua AJAX sẽ không gửi cookie trở lại máy chủ.

API nằm trên cùng một máy chủ. Tương tự, các yêu cầu trang không phải AJAX thông thường cũng không hiển thị cookie phiên. Tôi đã tắt tất cả cài đặt bảo mật và quyền riêng tư trong Tùy chọn Internet. Chrome gửi cookie đúng cách.

Làm cách nào để nhận được IE trả lại cookie? Cảm ơn!

+0

Bạn có thể đăng yêu cầu HTTP và tiêu đề phản hồi không? – slashingweapon

+0

Tôi đã gặp phải cùng một vấn đề ngay hôm nay. Tôi chưa tìm được giải pháp cho nó. Vui lòng cập nhật Câu hỏi này về các cách tiếp cận có thể có! –

+0

Tôi đã tìm thấy http://www.dotnet-developer.de/2012/01/aspnet/session-cookies-lost-in-internet-explorer-ie9/ nhưng tôi chưa hiểu hết. Nếu tôi chỉ thêm HTTP-Header được mô tả, mọi thứ dường như hoạt động nhưng IE vẫn nói rằng tôi không có chính sách bảo mật. –

Trả lời

0

Tôi gặp sự cố này với IE9 để nhận yêu cầu. Tôi đã chuyển đổi từ $ .getJSON (sử dụng một url có tham số chuỗi truy vấn) thành $ .ajax (sử dụng một bài đăng). Lý thuyết của tôi sẽ tương tự như thư viện máy chủ MVC của MS, IE không thích nhận các yêu cầu trả về JSON (bạn phải đặc biệt cho phép điều này trong MVC hoặc nó cho bạn một lỗi chỉ ra rằng nhận được yêu cầu trả về JSON có một số lỗi nguy cơ bảo mật Dù sao, vì đây là một trong những hit google hàng đầu của tôi, tôi đã nghĩ tôi sẽ đăng những gì đã làm việc cho tôi.

0

Chỉ cần đặt Math.random() trong url như,

$.ajax({ 
    type: "GET", 
    url: "getRequestData.do?parameter=GetModelService&t="+Math.random(), 
    data: "sub=ADD", 
    cache: false, 
    ................ 
    ............... 
2

URL Tôi đã cố gắng để truy cập sử dụng một ký tự gạch dưới ('_'). Đây là một URL không hợp lệ và vì vậy Internet Explorer không chấp nhận cookie đúng cách. Việc khắc phục sự cố này đã khắc phục được sự cố của tôi.

+0

Tôi có cùng một vấn đề và tôi cũng có dấu gạch dưới trong URL. URL của bạn có dấu gạch dưới trong tên miền hoặc tên miền phụ HOẶC trong phần còn lại của URL không? –

0

cố gắng tránh sử dụng localhost hoặc 127.0.0.1 như một phần của URL của bạn và xem liệu nó có tạo nên sự khác biệt nào không.