2017-08-30 8 views
0

この関数は、すべてが正常であればデータを返し、404エラーを受け取った場合は0を返します。例えばhttpが404エラーを処理する

function httpGet(url) 
    { 
     if (window.XMLHttpRequest) 
     { 
      xmlhttp=new XMLHttpRequest(); 
     } 
     else 
     { 
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
     } 
     xmlhttp.onreadystatechange=function() 
     { 
      if (xmlhttp.readyState==4 && xmlhttp.status==200) 
      { 
       return xmlhttp.responseText; 
      } 
      if(xmlhttp.readyState==4 && xmlhttp.status==404) 
      { 
       return 0; 
      } 
     } 
     xmlhttp.open("GET", url, false); 
     xmlhttp.send();  
    } 

、それを行う方法を、

username = '_ele'; 
httpGet('https://api.scratch.mit.edu/users/'+username+'/followers'); 

は404エラーをスローしていましたが、私は関数が代わりに値0を返すことがしたいですか?

答えて

1

あなたは、私はそれについて何を行うことができますが、このバージョン

function httpGet(url) 
    { 
     if (window.XMLHttpRequest) 
     { 
      xmlhttp=new XMLHttpRequest(); 
     } 
     else 
     { 
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
     } 

     xmlhttp.open("GET", url, false); 
     xmlhttp.send();  
     if (xmlhttp.status != 200) { 
      // catch error 
      return xmlhttp.status + ': ' + xmlhttp.statusText; // expample error: 404: Not Found 
     } else { 
      // response 
      return xmlhttp.responseText; 
     } 
    } 
+0

https://jsfiddle.net/dfrhh6kw/コンソールがまだ404エラーをスローを試すことができますか? –

+0

Uもコンソールでエラーを受け取りますが、jsfiddleのコード(警告505を受信します)とその後に 'return xmlhttp.status + 'を書き換えた場合:' + xmlhttp.statusText;'を返す '' ook "'私は警告を受け取るテキスト 'ook' – AkeRyuu

関連する問題