Phản hồi AJAX có thể đặt cookie không? Nếu không, giải pháp thay thế của tôi là gì? Tôi có nên thiết lập nó với Javascript hoặc một cái gì đó tương tự?Phản hồi AJAX có thể đặt cookie không?
Trả lời
Có, bạn có thể đặt cookie trong yêu cầu AJAX trong mã phía máy chủ giống như bạn yêu cầu bình thường vì máy chủ không thể phân biệt giữa yêu cầu bình thường hoặc yêu cầu AJAX.
Yêu cầu AJAX chỉ là một cách đặc biệt để yêu cầu đến máy chủ, máy chủ sẽ cần phản hồi như trong bất kỳ yêu cầu HTTP nào. Trong phản ứng của yêu cầu, bạn có thể thêm cookie.
Hãy nhớ rằng liệu cookie sẽ được đại diện HTTP vinh danh là một câu chuyện khác hay không. –
@Franci: đã đồng ý. Nhưng tôi nghĩ câu hỏi này chỉ có ý nghĩa đối với các khách hàng http hỗ trợ cookie. Vì vậy, tất cả người hỏi chỉ muốn biết liệu cookie có thể được viết trong yêu cầu AJAX có nghĩa là UA của anh ấy hỗ trợ cookie :) –
'Nếu tác nhân người dùng hỗ trợ Quản lý trạng thái HTTP, nó sẽ tồn tại, loại bỏ và gửi cookie (như đã nhận trong Set- Tiêu đề phản hồi cookie và được gửi trong tiêu đề Cookie) có thể áp dụng.' - từ http://www.w3.org/TR/XMLHttpRequest/ – smwikipedia
Theo số w3 spec section 4.6.3 for XMLHttpRequest tác nhân người dùng nên tôn trọng tiêu đề Đặt cookie. Vì vậy, câu trả lời là có bạn sẽ có thể.
Báo giá:
Nếu user agent hỗ trợ quản lý nhà nước HTTP cần kiên trì, loại bỏ và gửi các tập tin cookie (như nhận được trong Set-Cookie phản ứng header, và gửi trong header Cookie) có thể áp dụng .
+1 để tham khảo –
IE có hỗ trợ tiêu đề Set-Cookie trong phản hồi, trong trường hợp có phản hồi XHR không? – detj
Vì nó nên chuyển hướng và nó không tôn trọng trong một số trình duyệt. –
Để ghi lại, lưu ý rằng tất cả những điều trên là (vẫn) chỉ đúng nếu cuộc gọi AJAX được thực hiện trên cùng một tên miền. Nếu bạn đang xem xét việc đặt cookie trên một tên miền khác bằng cách sử dụng AJAX, bạn đang mở một hoàn toàn khác nhau can of worms. Tuy nhiên, việc đọc các cookie tên miền chéo không hoạt động (hoặc ít nhất là máy chủ phục vụ chúng; liệu UA của khách hàng của bạn có cho phép mã của bạn truy cập vào chúng không, một lần nữa, một chủ đề khác, kể từ năm 2014).
Cảm ơn bạn đã đặt điều này vào. Đó là những gì tôi đang tìm kiếm khi tôi bắt gặp điều này.^__^ – adiktofsugar
Để gửi cookie tên miền chéo, bạn cần đặt [withCredentials] (https://developer.mozilla.org/en-US/docs/HTTP/Access_control_CORS?redirectlocale=en-US&redirectslug=HTTP_access_control#Requests_with_credentials) flag – aeosynth
Đối với kịch bản miền chéo, 3 điều cần phải xảy ra: - (1) Khách hàng cần đặt 'withCredentials = true' cho đối tượng' xhr' (2) Đặt 'Access-Control-Allow-Credentials' cả trong OPTIONS yêu cầu preflight cũng như yêu cầu thực tế (3) Đặt cookie khi cần – Kunal
Ngoài ra, hãy kiểm tra xem máy chủ của bạn có đang đặt cookie an toàn không theo yêu cầu http hay không. Chỉ cần phát hiện ra rằng yêu cầu ajax của tôi đã nhận được một phiên php với bộ "an toàn". Bởi vì tôi đã không được trên https nó đã không gửi lại cookie phiên và phiên của tôi đã được thiết lập lại trên mỗi yêu cầu ajax.
- 1. Đặt cookie theo phản hồi nguy hiểm
- 2. Trình duyệt hiện tại có chấp nhận cookie từ phản hồi ajax không?
- 3. Cookie phản hồi không được thiết lập bởi Chrome & IE
- 4. jQuery Ajax: phản hồi pdf
- 5. jQuery $ .cookie không đọc cookie được đặt bởi phản hồi của máy chủ
- 6. Làm cách nào để đặt cookie phản hồi trên HttpReponseMessage?
- 7. Giới hạn kích thước phản hồi AJAX
- 8. Nhúng hình ảnh vào phản hồi AJAX
- 9. Tiêu đề phản hồi jQuery và AJAX
- 10. Phản hồi Ajax bên trong div
- 11. Tại sao Cookie có sẵn trong Yêu cầu ngay sau khi cài đặt bằng Phản hồi?
- 12. jQuery - nhận tiêu đề phản hồi AJAX
- 13. Không thể nhận phản hồi tiêu đề HTTP tùy chỉnh từ Ajax getAllResponseHeaders
- 14. Nếu có một phản hồi cookie thiết lập từ một xmlhttprequest, trình duyệt sẽ tôn trọng nó và đặt cookie?
- 15. Tập lệnh không phản hồi - có thể tránh được không?
- 16. GWT: Phản hồi không thể được deserialized
- 17. Có cách nào để đọc cookie từ đối tượng phản hồi trong Java không?
- 18. Jquery - Lưu trữ phản hồi Ajax jSON dưới dạng biến
- 19. Firefox không thể phân tích cú pháp chuỗi JSON trong phản hồi jQuery AJAX
- 20. Cách xử lý cuộc gọi ajax khi không có phản hồi từ máy chủ
- 21. Facebook API - không có email phản hồi
- 22. Đọc một phần của phản hồi html ajax
- 23. Biến ngữ cảnh Django và phản hồi ajax
- 24. Bộ đầu đề cookie jQuery AJAX Reponse Đặt tiêu đề cookie
- 25. Phản hồi thời gian chờ của phiên trong AJAX
- 26. Thực hành phản hồi lỗi Django ajax tốt nhất
- 27. phản hồi chậm jquery ajax trong Google Chrome
- 28. Cách đặt tên tệp theo phản hồi
- 29. Phản hồi jQuery $ .ajax trống nhưng chỉ trong Chrome
- 30. Nhận json trên lời gọi phản hồi Ajax
Tôi đang sử dụng nút tốc độ node.js. Tôi nhận thấy rằng nếu bạn làm điều đó, bạn phải đặt trường httpOnly thành false ở phía máy chủ quá rõ ràng. –