XMLHttpRequest имеет неверную контекстную ошибку - PullRequest
0 голосов
/ 09 ноября 2018

это мой код:

<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 голосов
/ 09 ноября 2018

Вызов document.write в загруженном документе неявно называется document.open, который уничтожает текущий документ (который является контекстом, к которому принадлежит объект XHR) и создает новый.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...