¿Puede una respuesta AJAX establecer una cookie? Si no, ¿cuál es mi solución alternativa? ¿Debo configurarlo con Javascript o algo similar?¿Puede una respuesta AJAX establecer una cookie?
Respuesta
Sí,, puede configurar la cookie en la solicitud AJAX en el código del servidor del mismo modo que lo haría para una solicitud normal ya que el servidor no puede diferenciar entre una solicitud normal o una solicitud AJAX.
Las solicitudes AJAX son solo una forma especial de solicitar al servidor, el servidor deberá responder de nuevo como en cualquier solicitud HTTP. En la respuesta de la solicitud puede agregar cookies.
Tenga en cuenta que si la cookie será honrada por el agente HTTP es otra historia. –
@Franci: de acuerdo. Pero creo que la pregunta solo tiene sentido para los clientes http que admiten cookies. Por lo tanto, todos los que preguntan solo desean saber si las cookies se pueden escribir en AJAX, lo que significa que su UA admite cookies :) –
'Si el agente de usuario admite HTTP State Management, debe conservar, descartar y enviar cookies (tal como se recibió en el Encabezado de respuesta de cookie, y enviado en el encabezado Cookie) según corresponda. - desde http://www.w3.org/TR/XMLHttpRequest/ – smwikipedia
Según el w3 spec section 4.6.3 for XMLHttpRequest, un agente de usuario debe respetar el encabezado Set-Cookie. Entonces la respuesta es sí, tú deberías ser capaz de hacerlo.
Cotización:
Si el agente de usuario soporta HTTP Estado de Gestión, de persistir, descarte y enviar las cookies (como se recibió en la respuesta cabecera Set-Cookie, y enviado en la cabecera de cookies) en su caso .
+1 para la referencia –
¿IE admite el encabezado Set-Cookie en las respuestas, en caso de respuestas XHR? – detj
Como debería en una redirección, y no cumple en algunos navegadores. –
Para el registro, tenga en cuenta que todo lo anterior es (aún) verdadero solo si la llamada AJAX se realiza en el mismo dominio. Si está buscando establecer cookies en otro dominio usando AJAX, está abriendo un can of worms totalmente diferente. Sin embargo, la lectura de cookies entre dominios funciona (o al menos el servidor les sirve, si el UA de su cliente permite que su código acceda a ellos es, nuevamente, un tema diferente, a partir de 2014 lo hacen).
Gracias por poner esto. Eso es lo que estaba buscando cuando me encontré con esto.^__^ – adiktofsugar
Para enviar cookies entre dominios, debe configurar [conCredentials] (https://developer.mozilla.org/en-US/docs/HTTP/Access_control_CORS?redirectlocale=en-US&redirectslug=HTTP_access_control#Requests_with_credentials) flag – aeosynth
Para el escenario entre dominios, deben ocurrir 3 cosas: - (1) El cliente debe establecer 'withCredentials = true' para el objeto' xhr' (2) Establecer 'Access-Control-Allow-Credentials' tanto en OPTIONS solicitud de verificación previa, así como la solicitud real (3) Configure la cookie según sea necesario – Kunal
También compruebe que su servidor no está configurando cookies seguras en una solicitud que no sea http. Acabo de enterarme de que mi solicitud de ajax estaba recibiendo una sesión de php con un conjunto "seguro". Como no estaba en https, no devolvía la cookie de sesión y mi sesión se restablecía en cada solicitud de Ajax.
- 1. ¿Configurando una cookie en una solicitud AJAX?
- 2. Eliminar cookie de una respuesta servlet
- 3. Incrustar una imagen en una respuesta AJAX
- 4. Establecer una cookie para que nunca caduque
- 5. Obtener encabezado de respuesta jquery ajax post Set-Cookie
- 6. ¿Los navegadores actuales aceptan cookies de una respuesta ajax?
- 7. Cómo establecer una cookie en Wordpress
- 8. Si hay una respuesta set-cookie de xmlhttprequest, ¿el navegador la respetará y configurará la cookie?
- 9. ¿Una cookie sin dominio?
- 10. Respuesta múltiple Solicitud AJAX
- 11. Obtener y establecer una única cookie con Node.js Servidor HTTP
- 12. ¿Se puede establecer o eliminar de manera confiable una cookie durante el procesamiento del lado del servidor de una llamada Ajax (XHR)?
- 13. ¿Es posible establecer más de una cookie con un único Set-Cookie?
- 14. ¿Es posible establecer una cookie manualmente usando sharedHTTPCookieStorage para UIWebView?
- 15. jQuery Ajax: respuesta en pdf
- 16. Jquery AJAX CORS + HttpOnly Cookie
- 17. ¿Almacena una matriz multidimensional en una cookie?
- 18. Lectura de una parte de la respuesta de ajax html
- 19. ¿Es mejor devolver HTML directamente para una respuesta Ajax?
- 20. Devolución de la respuesta de una llamada Jquery AJAX
- 21. Ejecutando una función javascript devuelta por la respuesta AJAX (PHP)
- 22. Firefox no puede analizar cadena JSON en jQuery Respuesta AJAX
- 23. Conservación de la cookie después de una solicitud de ajax entre dominios
- 24. borrar una cookie usando java
- 25. jQuery/AJAX - formato de respuesta
- 26. Symfony2: configuración de una cookie
- 27. ¿Cómo eliminar una cookie?
- 28. Jquery - Almacene respuesta jSON Ajax como variable
- 29. Almacenar una imagen en una cookie
- 30. Enviar respuesta php al Ajax
Estoy usando node.js Express. Me di cuenta de que si haces eso, también debes configurar el campo httpOnly como falso en el lado del servidor. –