Не получается получить этот код AJAX для запуска - PullRequest
0 голосов
/ 23 октября 2010

Я пытаюсь узнать, как использовать ajax, и я не могу понять, почему приведенный ниже код не работает.Все, что он делает, это сначала создает действительный объект XMLHttpRequest, когда страница загружается, а затем вставляет некоторый текст в раздел области div страниц.

Demo.js

var ajaxRequest;  // The variable that makes Ajax possible!
function newRequest()
{
    try
    {
        ajaxRequest = new XMLHttpRequest();
    ..
    }    
}

Я вызываю это с помощью следующего:

Index.html

<script src="Demo.js" type="text/javascript"></script>
</head>
<body onload="newRequest()">
    <div class="page_Disp">
    </div>

Затем я пытаюсь загрузить некоторый текст из файла на страницу, используяследующая функция JS:

Demo.js

function openPage()
{
    ajaxRequest.onreadystatechange=function()
    {
        if (ajaxRequest.readyState==4 && ajaxRequest.status==200)
        {
            document.getElementById("page_Disp").innerHTML=ajaxRequest.responseText;
            ajaxRequest.open("GET","ajax_info.txt",true);
            ajaxRequest.send();
        }
    }
}

Вышеуказанное вызывается с использованием следующего HTML-кода:

<a onclick="openPage()">Load TXT</a>

Может кто-нибудь увидетьпроблема, которая заставляет скрипт не загружаться и вставлять данные из .txt в раздел?

Ответы [ 2 ]

2 голосов
/ 23 октября 2010

Вы используете class для элемента:

<div class="page_Disp">

Но вы пытаетесь получить его по id:

document.getElementById("page_Disp")

Поэтому вам нужно изменитьid для его заполнения:

<div id="page_Disp">
1 голос
/ 23 октября 2010

Я ожидаю, что ваши Demo.js будут выглядеть так

function openPage()
{
    ajaxRequest.onreadystatechange=function()
    {
        if (ajaxRequest.readyState==4 && ajaxRequest.status==200)
        {
            document.getElementById("page_Disp").innerHTML=ajaxRequest.responseText;
        }
    }
    ajaxRequest.open("GET","ajax_info.txt",true);
    ajaxRequest.send();
}

В противном случае ajaxRequest никогда не сможет отправить запрос, потому что он был внутри кода, который ответил на запрос.

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