Нам нужно сделать exit;
после перенаправления в php, потому что exit;
не останавливает выполнение остальной части кода.
Но почему мы не делаем что-то подобное в JavaScript.
Я хочу сделать что-то вроде
if(window.location.replace("http://something.com")){
return;
}
или же
window.location.replace("http://something.com");
throw "stop the execution.";
Мне нужно сделать это?
Если нет, то почему?
exit();
после перенаправления в php?Когда вы делаете
header( "Location: ./somepage.php" );
Как php manual on header says
, header () используется для отправки необработанного HTTP-заголовка.. Так что это не останавливает выполнение скрипта дальше. Он отправляет заголовок ответа, связанный с перенаправлением, обратно в браузер и продолжает выполнение кода ниже. Так exit()
помешал бы сделать это.
return;
после вызова window.location?Код JS говорит браузеру перейти на другой URL. Итак, когда навигация завершена. Браузер переходит на новую страницу и код под window.location
не будет выполняться в отличие от поведения php, описанного выше. Так что мы этого не требуем.
Других решений пока нет …