使用AJAX从服务器请求文件,运行报错
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<p id="d1"></p>
<script>
// const myobj={name:"Bill",age:21,city:"Guangzhou"};
// const myJSON=JSON.stringify(myobj);
// window.location="/demo_json.php?x="+myJSON;
// 来自服务器的 JSON 可以使用 AJAX 请求从服务器请求 JSON
const xhttp=new XMLHttpRequest();
xhttp.onreadystatechange=function(){
if(this.readyState==4&&this.status==200){
const myobj=JSON.parse(this.responseText);
document.getElementById("d1").innerHTML=myobj.name
}
}
xhttp.open("GET","json.txt");
xhttp.send();
</script>
</body>
</html>
第一次运行时忘记把上面三条代码注释掉,就直接运行,结果浏览器报错
第二次注释了上面的代码,保存之后,重启了node.js本地服务器,再运行几遍,依旧显示之前的错误。为什么会一直运行已经注释了的代码请求?
还有修改了服务器的json文本,运行AJAX请求,responseText获得的结果依旧是原来未修改的文本,这是为什么
大概率是 get 被缓存了。可以尝试加个时间戳入参,这样就不会被缓存了。或者开着控制台 disable cache 禁用缓存