У меня есть код php-jquery
<?php
//a php code determines value of the variable $url
echo "<script>
$('#main').html('Loading...');
$('#main').load('".$url."');
</script>";
?>
Но, когда путь, указанный в $ url, не существует, содержимое #main остается прикрепленным к "Загрузка..." и оно не отображает ошибку 404. Как я могу это исправить?
Причина, по которой "Загрузка" застряла, связана с тем, что .load() является вызовом ajax и хотя возвращает ответ 400, фактически не перезагружает страницу.
Что вы можете сделать, так это использовать функцию обратного вызова jQuery load(), например
$("...").load("yourURL", function (responseText, textStatus, req) {
if (textStatus == "error") {
//do something here, like redirect the page for example
}
});