2010-12-15 3 views
4

Я написал функцию Ajax, как показано ниже.Функция Ajax, вызывающая

Не работает должным образом. Если я удалю xmlhttp.status==400, тогда он будет работать. Какую ошибку я сделал в этом примере?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
    <head> 
     <title> New Document </title> 
     <script type="text/javascript"> 
      function getAjax() 
      { 
       if (window.XMLHTTPRequest) 
       { 
        xmlhttp=new XMLHTTPRequest(); 
       } 
       else 
       { 
        xmlhttp=new ActiveXObject("Microsoft.xmlHTTP"); 
       } 
       xmlhttp.onreadystatechange=function() 
       { 
        if (xmlhttp.readyState==4 && xmlhttp.status==400) 
        { 
         document.getElementById('mydiv').innerHTML=xmlhttp.responseText; 
        } 
       } 
       xmlhttp.open("GET","testajax.txt",true); 
       xmlhttp.send(null); 
      } 
     </script> 
    </head> 

    <body> 
     <input type="button" value="Get content" onclick="getAjax()"><br> 
     <div id="mydiv"></div> 
    </body> 
</html> 

ответ

1

«Другое простое использование найти, если URL существует, в HTTP существует различные коды состояния, возвращаемые как ГОЛОВЫ и GET запросы, 200 означает успех, 404 означает отказ, а остальные означают другие вещи. См. HTTP status codes для полного объяснения. "

используя свойство статуса XmlHttp объекта предоставляет Вам этот статус

  if (xmlhttp.readyState==4) { 
      if (xmlhttp.status==200) alert("URL Exists!") 
      else if (xmlhttp.status==404) alert("URL doesn't exist!") 

      } 

http://www.jibbering.com/2002/4/httprequest.2004.9.html

0

Надлежащий «if» условие должно быть: -

if (xmlhttp.readyState == 4 && xmlhttp.status == 200) 
{ 
    document.getElementById('mydiv').innerHTML=xmlhttp.responseText;    
} 

Для более глубокого понимания, вы можете увидеть это хороший & подробную статью IBM технической библиотеки Mastering AJAX. Кроме того, вы могли бы легко использовать API jQuery.ajax() библиотеки jQuery.

Надеюсь, это поможет.

+0

с xmlhttp.status == 200 также не дает из положить .. сэр – Mihir

+0

@Mihir - Если возможно, попробуйте с jQuery AJAX API. Это лучший вариант с небольшими требованиями к деталям. –

Смежные вопросы