Я определяю ссылку < a href = "http://www.example.com" > Здравствуйте, </a >. Когда я нажимаю эту ссылку, javascript должен проверить, существует ли ссылка/valid.if true, страница должна быть загружена или страница должна быть перенаправлена на другую страницу. Я использую javascript ajax для проверки страницы существует/not.i использую условие xmlhttp.status == 200. Но это не работает. код:Отменить загрузку страницы в javascript
function check(url){
xmlHttp.open("GET", url, true);
xmlHttp.onreadystatechange=function(){
if(xmlHttp.readyState==4){
if (xmlHttp.status==200)
{
alert("Page Available");
}
else
{
window.location.href= "http://www.hello.com";
}
}
}
xmlHttp.send(null);
}
</script>
</head>
<body>
<a href="http://www.example.com" onclick="check(this)">Click this Link</a>
здесь xmlHttp.status == 200 не работает. Кто-нибудь может мне помочь?
Определить «не работает». Это оператор равенства, я сильно подозреваю, что он работает правильно. Вы имеете в виду, что статус не 200, когда вы ожидаете, что это будет? Или что сравнение никогда не называется? Или что действительно есть проблема с реализацией вашего JS-движка? –
Вы не можете сделать запрос перекрестного домена на стороне клиента. http://stackoverflow.com/questions/466737/why-is-cross-domain-ajax-a-security-concern – BrunoLM
В совершенно ином случае, если вас интересует только код состояния запроса, вы должны сделайте запрос 'HEAD' вместо' GET'. Гораздо более легкий вес (т. Е. Быстрее и дешевле и «лучше») и содержит всю необходимую информацию. –