2011-07-05 9 views
0

私のAjaxコードはIE8では動作しませんが、Firefoxでは動作します。私は人々がインターネットに投稿したが、それらのどれもが動作するように思わないいくつかの異なる方法を試しました。ここでIE8でAjaxコードが機能しないのはなぜですか?

だけではないIE8で、働く私のコードです:PHPファイルで

function populatematerial(str) 
{ 
    if (str=="") { 
     document.getElementById("txtHint").innerHTML=""; 
     return; 
    } 

    var xmlHttp = null; 

    if (window.XMLHttpRequest) { 
    // IE7+, Firefox, Chrome, Opera, Safari 
     xmlhttp=new XMLHttpRequest(); 
    } 

    else{ 
    // IE6, IE5 
     xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 

    xmlhttp.onreadystatechange=function() 
    { 
     if (xmlhttp.readyState==4 && xmlhttp.status==200) { 
     document.getElementById("txtHint").innerHTML=xmlhttp.responseText; 
     } 
    } 

    xmlhttp.open("GET","GetMySQLData.php?q="+str,true); 
    xmlhttp.send(); 
} 

それだけで新しい選択方法を移入するためにMySQLデータベースからデータを取得します。

+4

より良い解決策:http://api.jquery.com/jQuery.ajax/ – MacMac

+0

ちょっとしたヒント:jQueryや類似のajaxライブラリを使用することをお勧めします。このライブラリは、ブラウザの相違点だけでなく、何かがうまくいかなくなったときにまともなエラーを出す。 –

答えて

0

if文のこの部分の削除:エラーメッセージを投稿..あなたが取得しているエラーのどのような種類(これはIEのバグのようです)

+0

応答をありがとうが、これは 'うまくいきませんでした'。 – TheRealDK

0

&& xmlhttp.status==200を、あなたは良いことがあります...

また、phpページからjavascript関数が返されていないことを確認してください。

関連する問題