he añadido el código para detectar indefinido
if(typeof data === "undefined") { // do nothing } else { window.location.href = data; }
pero incluso después de mostrar la alerta, sigue yendo a una URL indefinida, ¿por qué?