2011-02-05 9 views
1

テキストファイルをフェッチしてアラートを使用して表示するシンプルなJavascriptプログラムを作成します。だから、楽観的であること、私は、サンプル・プログラムを提供することを目的としているW3Schoolsのページに行って、私は1つを試してみました:それは動作しませんXmlHTTPRequestサンプルコードが動作しません

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

。自分のURLを私のものに置き換えました。私はそのコードを使って動作させようとしました。まだ何も。

私は、ComcastがファイルへのJavascriptアクセスをブロックしているため、Comcastでホストされている私のファイルが読み込まれていないと疑っています。 しかし、私は間違っていると思います。私も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> 

ヘルプ:ここ

は私の最新のコードですか?

答えて

5
  1. 他のサイトのデータにアクセスすることはできません。 same origin policyはセキュリティ上の理由からこれを防ぎます。
  2. JavaScriptがコメントアウトされているため、HTMLの代わりにXHTMLとして処理されます。私はan article on the subjectを書きました。
  3. W3Sを信頼しないでください。
  4. new XMLHttpRequest()http://w3fools.com/は、Internet Explorerの古いバージョンを上で動作しませんを参照してください
+0

のXMLHttpRequestはIE7からネイティブだった(leeebによると、その構文のサポートはIE 7で追加されました)。 – leebriggs

+0

好奇心から、w3sページをスキャンして、発信元ポリシーの記述があるかどうかを確認しました。私はそれを見ることができませんが、これは頻繁に尋ねられる質問であると考えて本当に貧しいです。 – leebriggs

+0

@leeeb:あなたはw3schoolsから何かを期待していますか? ;) –