这是我的代码:
<body><button onclick="myFunction()">Click me</button>
<script>
function readTextFile(file, callback) {
var rawFile = new XMLHttpRequest();
rawFile.overrideMimeType("application/json");
rawFile.open("GET", file, false);
rawFile.onreadystatechange = function() {
if (rawFile.readyState === 4 && rawFile.status == "200") {
callback(rawFile.responseText);
}
}
rawFile.send(null);
}
function myFunction(){
document.write("<div id='cy'></div>");
readTextFile("book.json", function(text){
var data = JSON.parse(text);
console.log("Something");
}
}
</script>
</body>
这给了我错误:
XMLHttpRequest的上下文无效
但是,如果我评论document.write("<div id='cy'></div>");
,它会起作用。
有人知道为什么吗?
答案 0 :(得分:0)
在已加载的隐式调用document.write
的文档中调用document.open
,它会破坏当前文档(XHR对象所属的上下文)并创建一个新文档。