XMLHttpRequest包含无效的上下文错误

时间:2018-11-09 11:08:22

标签: javascript html html5

这是我的代码:

<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>");,它会起作用。 有人知道为什么吗?

1 个答案:

答案 0 :(得分:0)

在已加载的隐式调用document.write的文档中调用document.open,它会破坏当前文档(XHR对象所属的上下文)并创建一个新文档。