withcredentials domain cross cookie ajax cookies

domain - ¿Puede una respuesta AJAX establecer una cookie?



jquery ajax set cookie (4)

De acuerdo con la sección 4.6.3 de la especificación w3 para XMLHttpRequest, un agente de usuario debe respetar el encabezado Set-Cookie. Así que la respuesta es sí, debería ser capaz de hacerlo.

Cotización:

Si el agente de usuario admite HTTP State Management, debe persistir, descartar y enviar cookies (tal como se reciben en el encabezado de respuesta de Set-Cookie y se envían en el encabezado de Cookie) según corresponda.

¿Puede una respuesta AJAX establecer una cookie? Si no, ¿cuál es mi solución alternativa? ¿Debo configurarlo con Javascript o algo similar?


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 utilizando AJAX, está abriendo una lata de gusanos totalmente diferente. Sin embargo, la lectura de cookies de dominios cruzados funciona (o al menos el servidor las sirve; si la UA de su cliente permite que su código acceda a ellas es, de nuevo, un tema diferente; a partir de 2014 lo hacen).


También verifique que su servidor no esté configurando cookies seguras en una solicitud no http. Acabo de descubrir que mi solicitud de ajax estaba obteniendo una sesión de php con un conjunto "seguro". Como no estaba en https, no estaba devolviendo la cookie de sesión y mi sesión se estaba restableciendo en cada solicitud de ajax.


, puede establecer una cookie en la solicitud de AJAX en el código del lado del servidor tal como lo haría para una solicitud normal, ya que el servidor no puede diferenciar entre una solicitud normal o una solicitud de AJAX.

Las solicitudes AJAX son solo una forma especial de solicitar al servidor, el servidor deberá responder como en cualquier solicitud HTTP. En la respuesta de la solicitud puede agregar cookies.