2017-05-08 17 views
7

Trong ứng dụng của tôi, tôi đặt một cookie và sau đó gọi fetch('/foo', {credentials: 'same-origin'}). Điều này bị chặn trong nhân viên dịch vụ sử dụng caches để lưu trữ yêu cầu và phản hồi. Câu trả lời có số Vary: Cookie. Sau đó, tôi thay đổi cookie và gọi lại số fetch như trên. Nhưng khi tôi gọi caches.match trong nhân viên dịch vụ, yêu cầu cũ được khớp! Tại sao chuyện này đang xảy ra? Tôi có thể sửa nó không?Tại sao không thay đổi: Cookie hoạt động trong một nhân viên dịch vụ?

+0

Tôi không nghĩ rằng nhân viên dịch vụ có chức năng đó. Nhưng khi bạn thực hiện tìm nạp lại, bạn vẫn có thể cập nhật yêu cầu với mặt nạ mới. Tôi không hiểu tại sao nó không hoạt động. Bạn có thể dán một phần nào đó của đoạn mã không? – karthick

Trả lời

3

Tôi không thể nhận xét (đại diện thấp) vì vậy tôi đăng bài ở đây.

Nhân viên dịch vụ không thể chặn cookie. Có một đề xuất new api in development.
Tại sao bạn không cố đặt tiêu đề tùy chỉnh cho các yêu cầu của mình tùy thuộc vào nội dung của cookie.

Yêu cầu 1:
X-Cookie-Giá trị: 1
Vary: X-Cookie-Value

Yêu cầu 2:
X-Cookie-Value: 2
Vary: X-Cookie-Value

+0

Điều này giống như một ý tưởng hay. Tôi sẽ xem xét thứ hai tới. – Dan

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