2012-02-26 15 views
0

私は、XML文書から情報を引き出すことによってフォーム要素を設定しようとしています。私は私が知っているすべてのリソースを精査し、そこから地獄探知し、ここでもいくつかの質問をしましたが、役に立たない。ブラウザAJAX/XML/jQueryの問題

地面の穴から背中がわからず、私と文法に問題があると思った。したがって、方程式から私の自己を排除するために、私は(ソースサイトでテストされたときに働いた)Webからサンプルをそのままコピーし、ローカルマシンに入れて試してみましたが、わからないでしょう。作業!だから私だけではない!わーい!

XMLファイルを処理しようとしたときに何か不足していますか?いくつかのローカルホスト設定やブラウザ設定がありますか?参考のため

は、ここで私は自分のコンピュータ上に複製しようとした例です:

<html> 
<head> 
<script type="text/javascript"> 
function loadXMLDoc(url) 
{ 
var xmlhttp; 
var txt,x,xx,i; 
if (window.XMLHttpRequest) 
    {// code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
    } 
xmlhttp.onreadystatechange=function() 
    { 
    if (xmlhttp.readyState==4 && xmlhttp.status==200) 
    { 
    txt="<table border='1'><tr><th>Title</th><th>Artist</th></tr>"; 
    x=xmlhttp.responseXML.documentElement.getElementsByTagName("CD"); 
    for (i=0;i<x.length;i++) 
     { 
     txt=txt + "<tr>"; 
     xx=x[i].getElementsByTagName("TITLE"); 
     { 
     try 
      { 
      txt=txt + "<td>" + xx[0].firstChild.nodeValue + "</td>"; 
      } 
     catch (er) 
      { 
      txt=txt + "<td> </td>"; 
      } 
     } 
     xx=x[i].getElementsByTagName("ARTIST"); 
     { 
     try 
      { 
      txt=txt + "<td>" + xx[0].firstChild.nodeValue + "</td>"; 
      } 
     catch (er) 
      { 
      txt=txt + "<td> </td>"; 
      } 
     } 
     txt=txt + "</tr>"; 
     } 
    txt=txt + "</table>"; 
    document.getElementById('txtCDInfo').innerHTML=txt; 
    } 
    } 
xmlhttp.open("GET",url,true); 
xmlhttp.send(); 
} 
</script> 
</head> 
<body> 

<div id="txtCDInfo"> 
<button onclick="loadXMLDoc('cd_catalog.xml')">Get CD info</button> 
</div> 

</body> 
</html> 
+0

私はこのコードをJSFiddle http://jsfiddle.net/AwaaR/に作成しました。echo/xml(ポストしてxmlをエコーするようにしました)を使用するマイナーな改造者もいます。彼の答えはあなたの問題が他の場所にあるように見えますが、私はZoliとJSONとJQuery/Mootoolsまたは他のJSフレームワークを見るべきであることにも同意します。 – Dampsquid

+0

助けてくれてありがとう、Zoliへのコメントで、私が投稿したこのコードは私が取り組んでいるものではなく、私がw3schoolsで見つけた例です。例をコピーして、問題が自分のコードやローカルホストの設定にあったかどうかを確認しました。どうやら、それはローカルホストの設定だけど、どこから始めるべきかわからない。私は、XMLファイルからデータを取り出すために何らかの種類のサーバサイドプロセスが必要とは思わなかった。ああ、よく... – Plummer

+0

ええ、それはローカルなものです。あなたが作成したコードを私のローカルマシンで試してみましたが、まだ何も得ていません。ブラウザの設定に関するアイデアはありますか? – Plummer

答えて

1
  1. 私はあなたがあなたのURLに問題があると思います。私は 'cd_catalog.xml'がそれであるかどうかはわかりません。おそらく完全なabsulute URLを使用してください。

  2. このコードの代わりにjQuery POSTをJSONで使用することをお勧めします。

サーバーサイドコードはありますか。

+0

私は例を得たサイトからXMLファイルをコピーしました。私はこのコードを使用していません。私が生成したコードは異なっていますが、問題がどこにあるのかを正確に推測しようとしていますが、XMLデータを呼び出すのが最も簡単なシナリオになりました。 これは、私が知っていたオンラインで見つかった例であり、ローカルのコンピュータでそれをやろうとしました。私のコンピュータ上で動作しないとき、私の問題は私のコードではなく、いくつかの設定で知っていた。 XMLファイルからデータを送信するサーバー側のプロセスが必要ですか? – Plummer

+0

いいえ、あなたのデータがJSONオブジェクトとしてサーバー側から来たのであれば、jQueryエンドで簡単なコードを記述することができます。あなたの例は重すぎる、本当に古いスタイルのコードです。あなたがそのようにしてやりたいのであれば、 "debugger"でデバッグしようとします。 javascriptキーワード。 – Zoli

関連する問題