此“工作”脚本将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
消息。我认为您只需要检查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");
关于javascript - XMLHttprequest错误消息,即使成功也是如此,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47324130/