2015-05-03 2 views
5

Я получаю следующее сообщение об ошибкеUncaught TypeError: Не удается прочитать свойство 'AppendChild' нулевых

Uncaught TypeError: Cannot read property 'appendChild' of null

myRequest.onreadystatechange @ script.js:20

с моим следующим кодом

// index.html 
<html> 
    <head> 
     <title>Simple Page</title> 
    </head> 
    <body> 
     <div id="mainContent"> 
      <h1>This is an AJAX Example</h1> 
     </div> 
     <script type="text/javascript" src="script.js"></script> 
    </body> 
</html> 

А вот файл мой JavaScript

// script.js 
// 1. Create the request 

var myRequest; 

// feature check! 
if(window.XMLHttpRequest) { // Firefox, Safari 
    myRequest = new XMLHttpRequest(); 
} else if (window.ActiveXObject){ // IE 
    myRequest = new ActiveXObject("Microsoft.XMLHTTP"); 
} 


// 2. Create an event handler for our request to call back 
myRequest.onreadystatechange = function() { 
    console.log("We were called!"); 
    console.log(myRequest.readyState); 
    if(myRequest.readyState === 4){ 
     var p = document.createElement("p"); 
     var t = document.createTextNode(myRequest.responseText); 
     p.appendChild(t); 
     document.getElementById("mainContent").appendChild(p); 
    } 
}; 

// 3. open and send it 
myRequest.open("GET","simple.txt", true); 

// any parameters? 
myRequest.send(null); 

И вот содержание simple.txt

This is the contents of a simple text file.

Я положил тег сценария в нижней части html as suggested by @Tejs here, но я все еще получаю эту ошибку.

+5

Я уверен, что код, который вы пытаетесь не то же самое, как размещены здесь. Потому что это нормально, никаких проблем. http://plnkr.co/edit/cMsq1VNrr8stb8Oj4Xkb?p=preview – dfsq

+0

Он не отображает содержимое simple.txt ниже моего тега h1. Плюс я получаю ошибку в консоли – Sparky

+0

Вы были правы. У меня были проблемы с файлами. Теперь работает. Спасибо – Sparky

ответ

8

На обратном вызове нет элемента на вашей странице с идентификатором «mainContent».

В строке:

document.getElementById("mainContent").appendChild(p); 

секция document.getElementById("mainContent") возвращается null

+0

У меня есть id, называемый mainContent в моем html. Я что-то упускаю? – Sparky

+0

У меня такая же ошибка. – Sparky

+0

Спасибо. Он работает сейчас. У меня был микс с моими файлами – Sparky

Смежные вопросы