Загрузка XMLHTTPRequest

0

Я борюсь с загрузкой текста из простого текстового файла с использованием XMLHTTPRequest API.

Вот список технологий, которые я использую в своем развитии:

  • Microsoft Visual Studios 2010
  • Microsoft Internet Explorer 8

Обзор. Я запускаю простую страницу index.htm, которая вызывает скрипт через тип ввода "Button". API присваивает ссылку в памяти из JavaScript, и функция onReadyStateChange выполняется при изменении состояния API.

Состояние готовности 1 (загрузка) было возвращено и статус не был возвращен. Больше не было экземпляров этой функции, указывающих на то, что состояние после этого не изменилось.

Подсказка: у меня возникает соблазн подумать, что это связано с расположением ресурсов и приложением, работающим в режиме localhost, на зарегистрированном сайте, но я просто не знаю.

Код HTML:

<body>
<input type="button" id="getSome"  title="Andrew Graham" value="Bob" onclick="Get_ListTextFile();"/>

<script src="Scripts/index.js" type="text/javascript"></script>

</body>

Код JavaScript:

var request= new XMLHttpRequest();

function Get_ListTextFile() {


    var uniformResourceLocator = 'Bob.txt';

    if (window.XMLHttpRequest = true) {

        request.open('GET', uniformResourceLocator,true);
        request.onReadyStateChange = ServerResponse();
        request.send();

    }

}

function ServerResponse() {

    var response;

    if (request != 'undifined') {

        if(request.readyState === 4 && request.status === 200){

            response = JSON.parse(request.responseText);

        }

    }

}

Запрос на веб-страницу: http://* ls: 1920/index.htm

* ls = localhost

Содержание файла:

Bob 1 Bob 2 Bob 3

  • 0
    Можете ли вы попробовать запустить Fiddler, чтобы увидеть ответ сервера? Код ответа может сказать вам кое-что полезное. Отладчик IE8 не выполняет мониторинг сети, как другие браузеры, поэтому fiddler - хороший инструмент, если у вас его нет. «Расположение ресурса и приложение, работающее в режиме локального хоста, назначенное на зарегистрированном веб-сайте» - может быть, вы думаете о защите межсайтовых сценариев? Домены должны быть одинаковыми, не более того.
Теги:
xmlhttprequest
visual-studio-2010

1 ответ

0
Лучший ответ

Вы в состоянии готовности состояния должны быть в нижнем регистре:

request.onreadystatechange = ServerResponse();

Вот обновленная версия, которая немного более многократно используется:

var request = new XMLHttpRequest();

function load(url, callback) {
    if (window.XMLHttpRequest = true) {
        request.open('GET', url, true);
        request.onreadystatechange = function () {
            if (request.readyState === 4 && request.status === 200) {
                callback(request.responseText);
            }
        }
        request.send();
    }
}

load('/', function(data) {
    console.log(data);
});

http://jsfiddle.net/p6H2r/

  • 0
    console.log выдает ошибку в IE8, если только не работает отладчик.
  • 0
    Хорошо, я не мог видеть «лес сквозь деревья»!
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню