2017-11-16 4 views
0

この「作業中の」スクリプトは、JSONを外部APIに送信します。それが正しく動作しないのは、コンソールのログの成功またはエラーです。 それが動作しても、私は "エラー"を3回表示します。 質問:XMLHttprequest成功の場合でもエラーメッセージ

a。成功の場合にエラーメッセージの原因となるコードのエラーはどこですか?

編集:このパート(a)にSuren Srapyanによって回答されているが、私は、以下のコードは

Bを更新されているめちゃめちゃabc.statusを持っていました。 XMLHttpRequest()は常に3回実行されるため、メッセージを3回記録するか、これが何か他の原因によって引き起こされるのでしょうか?

編集:これは、最も可能性の高いコード

var abc = new XMLHttpRequest(); 
    var url = "http://myurl"; 
    abc.open("POST", url, true); 
    abc.setRequestHeader("Content-type","application/json"); 
    abc.onreadystatechange = function() { 
    if (abc.status >= 200 && abc.status < 300) { 
     console.log(abc.responseText); 
     console.log("Success!!"); 
    } else { 
     console.log("Error!"); 
    } 

答えて

2

の他の部分に起因する値を同時に200より>= 200未満にすることはできません。したがって、常にErrorというメッセージが表示されます。 statusCode200としか比較しないでください。また、statusを取得することにも注意してください。 cross siteに入る場合0に設定されたstatusコードを取得します。正しい方向に私を押すため

var abc = new XMLHttpRequest(); 
 
var url = 'https://jsonplaceholder.typicode.com/posts/1'; 
 

 
abc.onreadystatechange = function() { 
 
    console.log(abc.status); 
 
    if (abc.status === 200) { 
 
     console.log(abc.responseText); 
 
     console.log("Success!!"); 
 
    } else { 
 
    console.log("Error!"); 
 
    } 
 
} 
 

 
abc.open("GET", url, true); 
 
abc.setRequestHeader("Content-type","application/json");

+0

ありがとう!私は別のソリューションを選択しました(上記の作業コードを参照)。質問(b)の考え方は? – Chris

+0

@Chris一度だけ呼び出されます。別の問題は、コードの他の部分にある可能性がありますか?その場合は –

+0

、この質問には回答済みとマークされます。ご協力いただきありがとうございます! – Chris

関連する問題