这"工作"脚本将JSON发送到外部API。它未能正确执行的操作是控制台中的日志成功或错误。 即使它有效,它仍然显示我"错误"三次。 问题:
一个。如果成功,导致错误消息的代码中的错误在哪里?
编辑:这部分(a)已经被Suren Srapyan回答,我把abc.status搞砸了,下面的代码已经更新
湾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!");
}
答案 0 :(得分:2)
值不能同时为>= 200
且小于200
。因此,您将始终收到Error
消息。我认为您需要检查statusCode
仅与200
进行比较。但也要注意你得到了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");
&#13;