Javascript XMLHttprequest错误消息,即使在成功的情况下也是如此

Javascript XMLHttprequest错误消息,即使在成功的情况下也是如此,javascript,post,xmlhttprequest,Javascript,Post,Xmlhttprequest,这个“工作”脚本将JSON发送到外部API。它不会正确地在控制台中记录成功或错误。 即使它工作,它仍然会显示我“错误”三次。 问题: a。如果成功,代码中导致错误消息的错误在哪里 编辑:这部分(a)已经由Suren Srapyan回答,我的abc.status搞乱了,下面的代码已经更新 b。de XMLHttpRequest()是否始终运行三次并因此记录三次消息,或者这是由其他原因造成的 编辑:这很可能是由代码的其他部分引起的 var abc=new-XMLHttpRequest(); 变量ur

这个“工作”脚本将JSON发送到外部API。它不会正确地在控制台中记录成功或错误。 即使它工作,它仍然会显示我“错误”三次。 问题:

a。如果成功,代码中导致错误消息的错误在哪里

编辑:这部分(a)已经由Suren Srapyan回答,我的abc.status搞乱了,下面的代码已经更新

b。de XMLHttpRequest()是否始终运行三次并因此记录三次消息,或者这是由其他原因造成的

编辑:这很可能是由代码的其他部分引起的

var abc=new-XMLHttpRequest();
变量url=”http://myurl";
abc.open(“POST”,url,true);
setRequestHeader(“内容类型”、“应用程序/json”);
abc.onreadystatechange=函数(){
如果(abc.status>=200&&abc.status<300){
console.log(abc.responseText);
console.log(“Success!!”);
}否则{
log(“错误!”);
}

一个值不能同时
=200
和小于
200
。因此,您总是会收到
错误
消息。我认为您需要检查
状态码
仅与
200
比较。但也要注意,您会得到
状态
。如果您要进入
跨站点
,您可以将
状态设置为
0

var abc=new-XMLHttpRequest();
var url='1〕https://jsonplaceholder.typicode.com/posts/1';
abc.onreadystatechange=函数(){
控制台日志(abc状态);
如果(abc.status==200){
console.log(abc.responseText);
console.log(“Success!!”);
}否则{
log(“错误!”);
}
}
abc.open(“GET”,url,true);

setRequestHeader(“内容类型”、“应用程序/json”)
一个值不能同时小于
=200
200
。因此,您总是会收到
错误
消息。我认为您需要检查
状态码
仅与
200
比较。但也要注意,您会得到
状态
。如果您要进入
跨站点
,您需要将
状态设置为
0

var abc=new-XMLHttpRequest();
var url='1〕https://jsonplaceholder.typicode.com/posts/1';
abc.onreadystatechange=函数(){
控制台日志(abc状态);
如果(abc.status==200){
console.log(abc.responseText);
console.log(“Success!!”);
}否则{
log(“错误!”);
}
}
abc.open(“GET”,url,true);

abc.setRequestHeader(“内容类型”、“应用程序/json”);
感谢您将我推向正确的方向!我选择了不同的解决方案(请参阅上面的工作代码)。对问题(b)有什么想法?@Chris它只被调用过一次。可能代码的其他部分存在另一个问题?在这种情况下,此问题将被标记为已回答,感谢您的帮助!感谢您将我推向正确的方向!我选择了不同的解决方案(请参阅上面的工作代码)。对问题(b)有何想法?@Chris它只被调用过一次。也许代码的其他部分中存在另一个问题?在这种情况下,此问题将被标记为已回答,谢谢您的帮助!
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!");
    }