rt、私は PHP ウェブページを作成しています
私の左の列はオプションであり、js
var xmlhttp = null; を使用して右の列が表示されます。 GetXmlHttpRequest (){
var xmlHttp = null;
try{
xmlHttp = new XMLHttpReqeust(); }
catch (e){
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
キャッチ( e){
try{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){
xmlHttp = false; }
}
}
return xmlhttp = GetXmlHttpRequest() ; 'showallnodes').onclick = function(){
xmlhttp.open('GET','node/allnodes.php',true);
xmlhttp.onreadystatechange = showclass
} ;これは IE を使用して表示できます。コードの他の部分は問題ありません。
私は 360 (他のカーネルを使用していますが、それでも一般的に使用されているブラウザーです)、Chrome、を試しました。エッジなどのすべてのプロンプト
manage.js:57 Uncaught TypeError: xmlhttp.open は関数ではありません
皆さんありがとうございます、、、
また、IE では表示できますが、IE では表示されないたびに少しコードを変更しています有効になりますが、キャッシュが残っているように感じます。他のブラウザではこの問題は発生せず、すぐに有効になります
ディスカッション (解決策)
try { xmlhttp = new XMLHttpRequest(); } catch (oc) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (oc) {} }あなたの xmlHttp = new XMLHttpReq eust(); は間違っています
IE にはキャッシュがあるため、URL にランダムな値を追加できます
php
header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 header ("Pragma: no-cache"); // HTTP/1.0でキャッシュを防ぐためにヘッダーを送信するのが最善です
そこでブラウザの互換性には多くの問題があります。不必要なトラブルを避けるためには、JQuery などのフレームワークを使用するのが最善です。モデレーターの返信に間違ったリクエストを入力していませんでした。間違って投稿したことに注意してください。
もう一度 jQuery フレームワークを使用してみます。
私の状況に遭遇して解決した人にアドバイスをいただけますか? ! ! あなたの xmlhttp = GetXmlHttpRequest();xmlhttp.send(null);
}
jQuery を使用して
$('#showallnodes').click( function(){
} )
この return メソッドを使用することに問題はありませんか?ブラウザのデバッグで 200 が見つかりました。非同期メソッドの呼び出しは成功しました。
function showclass(){
if(xmlhttp.readystate == 4){
$(' showmenu').innerHTML = xmlhttp.responseText;
}
}
}
これは右側の列の div の ID です。
開いた PHP ページには次の
header('content-type:text /html;charset=utf -8');
そうですか? 以前は IE を呼び出すことができましたが、現在は非同期メソッドによって返される 200 が表示されません。どうすれば表示されますか?ありがとうございます