Podrías devolver un array con dos valores; uno que sea un número o un mensaje cualquiera y otro que sea el mensaje a mostrar o la ruta hacia la cual se redirigirá al usuario. Una vez que recibas la respuesta, verificas el primer valor y si este indica que todo va bien, realizas la redirección mediante el método
window.location
, caso contrario, muestras el mensaje en el contenedor.
Código PHP:
Ver original//Si todo está bien
$respuesta = [
'codigo' => 1,
'mensaje' => 'ejemplo.php'
];
//Caso contrario
$respuesta = [
'codigo' => 2,
'mensaje' => 'El mensaje de error'
];
//Devuelves la respuesta en un objeto JSON
Código Javascript
:
Ver originalajax.onreadystatechange = function(){
if (ajax.readyState == 4 && ajax.status == 200){
//Recogemos la respuesta y la parseamos a JSON
var respuesta = JSON.parse(ajax.responseText);
//Si todo va bien, se redirecciona
if (respuesta.codigo == 1){
window.location = respuesta.mensaje;
}
//Caso contrario
else{
divResultado.innerHTML = respuesta.mensaje;
divResultado.style.display = "block";
}
}
};
Un saludo