Estoy tratando de hacer una página que PUBLICARÁ una matriz en la página siguiente usando AJAX, para que PHP pueda acceder a ella. https://www.kvcodes.com/2015/10/passing-javascript-array-to-php-through-jquery-ajax/
He usado el primer ejemplo en esta página como un tutorial. este es el codigo de la primera pagina
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> if (sessionStorage.getItem('idsarray') !== '') { var string = sessionStorage.getItem('idsarray'); const array = string.split(","); array.shift(); console.log(array) $.ajax({ type: "POST", url: "detailselection.php", data: { idsarray : array }, success: function() { alert("Success"); } }); $('#continuebutton').on("click", location.href = "detailselection.php"); }Se supone que esto debe publicar mi matriz en la página siguiente, detailselection.php y luego abrir esa página, pero aparece este error en la consola, aunque la alerta muestra éxito
Alguien me puede decir que significa esto y como solucionarlo? 
Editar: reemplacé la URL de AJAX con la URL completa (http://localhost/.php/detailselection.php) y eso me dio exactamente el mismo error. Luego intenté cambiar la ubicación. href también, lo que dio el mismo error, pero se actualizó para reflejar la nueva URL. Esto significa que el error está en la línea location.href, no en la URL de AJAX como había pensado al principio. Sin embargo, el error parece estar relacionado con AJAX porque cuando lo elimino no hay ningún error.
Edición n. ° 2: también probé un código como este que abre la página siguiente dentro de la función de éxito. Esto no muestra ningún mensaje de error, pero la variable aún no se pasa a la página siguiente
$('#continuebutton').on("click", function () { $.ajax({ type: "POST", url: "http://localhost/.php/detailselection.php", data: { variable: 'yes'}, success: function() { alert("Success"); window.location = "http://localhost/.php/detailselection.php"; } }); })Solo para confirmar que estoy entendiendo AJAX correctamente, la URL es la página a la que está publicando, no la página de la que está tomando la variable, ¿correcto?
Creo que el problema es que no está proporcionando una URL válida para que AJAX publique. Debe especificar un dominio para obtener detailselection.php de selección.php.
if (sessionStorage.getItem('idsarray') !== '') { var string = sessionStorage.getItem('idsarray'); const array = string.split(","); array.shift(); console.log(array) $.ajax({ type: "POST", url: "myDomain/detailselection.php", data: { idsarray : array }, success: function() { alert("Success"); } }); $('#continuebutton').on("click", () => { location.href = "myDomain/detailselection.php" }); } Además, no olvides especificar tu número de puerto en la url, especialmente en desarrollo, ya que por defecto el navegador solicita el puerto 80 para solicitudes http y el puerto 443 para solicitudes https. Si está utilizando puertos distintos a esos (que probablemente esté en desarrollo, ya que los puertos por debajo de 1024 están reservados), deberá especificar el puerto en la URL. Entonces, por ejemplo, si entrega sus archivos en el puerto 3000, su URL será 127.0.0.1:3000/path/to/your/file
Nota: Como han mencionado otros, debe proporcionar una función al detector de eventos, a diferencia de un simple igual.