此“工作”脚本将JSON发送到外部API。它无法正确执行的操作是控制台中的日志成功或错误。
即使可以,它仍然显示三遍“错误”。
问题:

一种。成功的情况下,导致错误消息的代码中的错误在哪里?

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

b。 de XMLHttpRequest()是否始终运行三次并因此将消息记录三次,还是由其他原因引起的?

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

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!");
    }

最佳答案

值不能同时为>= 200且小于200。因此,您将始终收到Error消息。我认为您只需要检查statusCode200即可。但也请注意,您会得到status。如果您要进入cross site,则会将status代码设置为0



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");

关于javascript - XMLHttprequest错误消息,即使成功也是如此,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47324130/

10-12 12:52
查看更多