Пример кода XmlHTTPRequest не работает - PullRequest
1 голос
/ 05 февраля 2011

Я хочу написать простую программу Javascript, которая будет извлекать текстовый файл и отображать его с помощью оповещения. Итак, с оптимизмом я перешел на страницу w3schools, где якобы предлагались примеры программ, и попробовал одну:

http://www.w3schools.com/dom/tryit.asp?filename=try_dom_xmlhttprequest_first

Это не работает. Я заменил их URL на мой. Я играл с их кодом в попытке заставить его работать. Все еще ничего.

У меня есть подозрение, что мой файл, размещенный на Comcast, не читается, потому что Comcast блокирует доступ к файлам через Javascript. Но я надеюсь, что я не прав. Я также попытался http://yahoo.com,, и все же я получаю ответ нулевого байта.

Вот мой последний код:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>
<body>
<div id="myDiv" > xyz </div>
<script type="text/javascript">
<!--
var xmlHttp = null;
function writeDiv (divName, content)
{
     document.getElementById(divName).innerHTML = content;
}
function Fetch()
{
    var Url = "http://yahoo.com";
    document.getElementById("myDiv").innerHTML = "processing...";
    xmlHttp = new XMLHttpRequest();
    xmlHttp.onreadystatechange = ProcessRequest;
    xmlHttp.open("GET", Url, true );
    xmlHttp.send(null );
}
function ProcessRequest()
{
    if (xmlHttp.readyState == 4) {
        writeDiv ("myDiv", xmlHttp.responseText);
    }
}
Fetch();
//-->
</script>
</body>
</html>

Помощь

1 Ответ

5 голосов
/ 05 февраля 2011
  1. Вы не можете получить доступ к данным на других сайтах. такая же политика происхождения предотвращает это по соображениям безопасности.
  2. Вы закомментировали свой JavaScript, поэтому он не будет выполняться (если файл обрабатывается как XHTML вместо HTML). Я написал статью на эту тему некоторое время назад, если вы хотите больше подробностей.
  3. Не верь W3S. Смотри http://w3fools.com/
  4. new XMLHttpRequest() не будет работать в старых версиях Internet Explorer (согласно leeeb, поддержка этого синтаксиса была добавлена ​​в IE 7)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...