我正在尝试使用javascript通过URL获取响应,但是readystate ab = nd状态分别没有达到4和200。直接获取Url后,它会正常工作,而不是通过代码获取。
!<DOCTYPE html>
<html>
<body>
<head>
<script>
var Http = new XMLHttpRequest();
document.write("1");
var url='http://10.64.10.222:5000/';
document.write("2");
Http.open("GET",url);
document.write("3");
Http.send();
document.write("4");
document.write(Http.readyState);
document.write(Http.status);
Http.onreadystatechange = function(){
if(Http.readyState == 4 && Http.status == 200 ){
document.write("6");
document.write(Http.responseText);
}
document.write("5");
}
</script>
</head>
</body>
</html>
答案 0 :(得分:0)
为什么使用传统的和旧的XMLHttpRequest,请使用最新的Fetch API。取自MDN
Fetch API提供了用于获取资源(包括 跨网络)。曾经使用过的任何人似乎都很熟悉 XMLHttpRequest,但它提供了更强大,更灵活的功能集。
演示代码段如下所示,有许多选项可将标题和状态代码读取为wll。
fetch('http://10.64.10.222:5000/')
.then(function(response) {
return response.json();
})
.then(function(myJson) {
console.log(JSON.stringify(myJson));
});