2011-01-18 3 views
0

次のコードはFireFoxでは動作しませんが、IEでは(サーバー上で)、それ以外の方法ではローカルではなぜですか?あなたは、サーバー上ではなく、Firefoxとあなたのマシン上でその逆にIEでActiveXをインストールしているので、jQueryを使ってブラウザにXMLをロードする

function load_xml(msg) { //this function will load xml even used in IE or any other browser 
      if (typeof msg == 'string') { 
       data = new ActiveXObject('Microsoft.XMLDOM'); 
       data.async = false; 
       data.loadXML(msg); 
       } else { 
        data = msg; 
       } 
       return data; 
     } 

     function getTitle(letter) { 
      $('#wordle').html(''); 
    jQuery.ajax({ 
     type: "POST", 
     url: "wordle-list.dat", 
     dataType: ($.browser.msie) ? "text/xml" : "xml", 
     success: function(xml) { 
        var xml2 = load_xml(xml); 
      var i=0; 
      $(xml2).find('wordle').each(function(){ 
         $(xml2).find('w').each(function(){ //can change to w:lt(50) 
          var tmpHold = $(this).text(); 
          if (tmpHold.substring(0, 1) == letter) { 
           $('#wordle').append('<li class="w">'+$(this).text()+'</li>'); 
          } 
         }); 
        }); 
     } 
    }); 
} 
+0

どれをこのコードスニペットをデバッグするのに役立つエラーやエラーメッセージを投稿できますか? –

+1

dataTypeを単に "xml"に設定すると、load_xmlを削除し、jQueryを使用して正しいxml DOMツリーを返すだけです。それがうまくいくかどうか試してみてください –

+0

FirefoxとIEの両方でXMLを取得するときにFirefoxとIEの両方が「200 OK」と答えています –

答えて

0

みんなのために疑問に思っ:

私は.datとして、ファイルの拡張子を持っていたし、サーバはそれがバイナリMIMEタイプだったと言っていたので、それがあった...

0

私の推測ではあります。ちょうどコードから言うのは難しいですが。サーバーとクライアントマシンの両方でコードが失敗するのはどの行ですか?

+0

Itn失敗すると、FirefoxとIEでXML文書を取得するときに '200 OK 'を取得しますが、Firefox(サーバー)またはIE(ローカル)のデータは取得しません。 –

0

これを試してみてください:

function load_xml(msg) { 
     if (typeof msg == 'string') { 
      if (window.DOMParser)//Firefox 
       { 
       parser=new DOMParser(); 
       data=parser.parseFromString(msg,"text/xml"); 
      }else{ // Internet Explorer 
       data=new ActiveXObject("Microsoft.XMLDOM"); 
       data.async="false"; 
       data.loadXML(msg); 
      } 
     } else { 
      data = msg; 
     } 
      return data; 
    }  
+0

私はこれもデータを返さないのは残念です(Firefoxの場合)。 IEはオンラインでも現地でも動作しますが、私は半分の点をあなたに提供することはできません:) –

+1

うーん、理解されています。それは私のために働くと私は他の方法を考えていません。 –

関連する問題