Tengo una API en NodeJs donde necesito validar un token para permitir que un usuario pase ese middleware y recupere storeId . Tengo una cookie con clave ts en mi localhost: cookie ts en herramientas de desarrollo de aplicaciones
Y tengo mi llamada AJAX.
$.ajax({ type:'POST', dataType: 'JSON', url: 'http://www.localhost:8090/product', data: product, xhrFields: { withCredentials: true }, crossDomain: true, async: false, success: result => { console.log(result) $('#FormLoading').remove() } })Y por alguna razón, todavía no envía el token, pero en otras páginas, como el tablero de la página de inicio, funciona. respuesta
La clave ts es para el dominio localhost y está llamando a http://www.localhost:8090/product . Normalmente, si el dominio de sus cookies es como el dominio de la URL de la API, la clave de la cookie y su valor se insertarán automáticamente en la solicitud de encabezado como una serie de cadenas. Pero aquí el dominio de su cookie es localhost y el dominio de la API es www.localhost . Por lo tanto, AJAX ignora la cookie. Debe configurar el dominio de la cookie con un comodín, al generar una cookie en la respuesta del servidor del nodo js a la solicitud de inicio de sesión, o cambiar la URL base de la API a localhost . Por cierto, esto puede ayudar . ¿Cómo funcionan los dominios de cookies del navegador?