我有一个带有ajax请求的HTML页面,它在firefox上运行良好,但safari没有做任何事情。当我调试时,我看到readystate未定义且状态为“”。有谁知道为什么它不适用于野生动物园?
Javascript代码:
<script>
function loadDoc() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("demo").innerHTML =
this.responseText;
}
};
xhttp.open("GET", "pegSolitaireSettings.html", true);
xhttp.send();
}
function reloadGame() {
location.reload();
}
</script>
HTML代码:
<div id="demo">
<button type="button" onclick="loadDoc()">Settings</button>
<div class="center-div">...</div>
</div>
答案 0 :(得分:0)
Firefox正在修复您的错误,而Safari则不是。
您正在尝试申请相对网址:"pegSolitaireSettings.html"
将其更改为:"http://HOSTNAME/pegSolitaireSettings.html"
或"//HOSTNAME/pegSolitaireSettings.html"
,它会正常工作。
其中HOSTNAME是主机的域名。
答案 1 :(得分:0)
这是我实际拥有的(简化),我可以在浏览器中访问http://www.pegsolitaire.com/pegSolitaireSettings.html
,因此vhost不应该是问题
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="CSS/styles.css" type="text/css">
<script>
function loadDoc() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("demo").innerHTML =
this.responseText;
}
};
xhttp.open("GET", "http://www.pegsolitaire.com/pegSolitaireSettings.html", true);
xhttp.send();
}
function reloadGame() {
location.reload();
}
</script>
</head>
<body>
<div id="demo">
<button type="button" onclick="loadDoc()">Settings</button>
<div id="gameInfo" align="center"> <br>
<div class="values" id="totalTime"></div>
</div>
</div>
</body>
</html>