Использование AJAX для доступа к файлу на том же сервере - PullRequest
0 голосов
/ 03 февраля 2011

новичок в программировании на HTML и AJAX, так что вот так:

Я создал веб-сайт, который заполняет таблицу содержимым из внешнего текстового файла (content.txt).Текстовый файл находится на веб-сервере Windows 2003 и находится в папке C: \ Inetpub \ wwwroot (поэтому он доступен по http://servername:port/content.txt). Текущий код AJAX, который у меня есть для моего веб-сайта, такой:

function content(file)
{
    if (window.XMLHttpRequest)
    {// code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp=new XMLHttpRequest();
    }
    else
    {// code for IE6, IE5
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }

    xmlhttp.onreadystatechange=function()
    {
        if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
            populate();
        }
    }
    var right_now = new Date();
    xmlhttp.open("POST",file + "?" + right_now.getTime(),true);
    xmlhttp.send();
}

А затем в теле HTML у меня есть:

<body id="body" onload="javascript:content('http://servername:port/content.txt')">

Теперь этот код работает, и веб-страница загружается нормально, если я запускаю его с компьютера в той же сети. Но если я помещаю его всервер и сделать его «живым» веб-сайтом (с использованием IIS), а затем попытаться получить доступ к веб-сайту с другого компьютера в сети, IE выдает ошибку, говорящую «Доступ запрещен», указывающий на строку xmlhttp.open.

Теперь я прочитал, что AJAX не работает в разных доменах, но, конечно, в этой ситуации они находятся в одном домене? Или, может быть, мое представление о доменах совершенно неверно. Надеюсь, вы, ребята, можете помочь новичку.

1 Ответ

0 голосов
/ 03 февраля 2011

похоже, это проблема порта.проверьте эту [подобную] проблему с тем, что вы испытываете.

, чтобы процитировать этот другой пост:

Для двух документов, имеющих одинаковое происхождение, протокол (http / https), домен и порт (по умолчанию 80или: хх) должны быть идентичны.Так что нет, вы не можете использовать xhr против другого порта.

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