ホームページ  >  記事  >  バックエンド開発  >  Firefox では Ajax 互換性に問題がありますが、プログラムは IE では正常に実行されます

Firefox では Ajax 互換性に問題がありますが、プログラムは IE では正常に実行されます

WBOY
WBOYオリジナル
2016-06-13 13:11:30846ブラウズ

Firefox の Ajax 互換性の問題、プログラムは IE で正常に実行されます
var xmlHttp=false;
function createXMLHttp(){
try{
xmlHttp=new XMLHttpRequest();
}catch(trymicrosoft ){
try{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}catch(othermicrosoft){
try{
xmlHttp=new ActiveXObject("Microsoft .XMLHTTP") ;
}catch(failed){
xmlHttp=false;
}
}
}
if(!xmlHttp){
alter("XMLHttpRequest オブジェクトを作成できません! ");
}
}
function Ajaxcheck(){
var num=document.myform.uname.value;//フォームデータを取得
var url="check .php? n="+num;
createXMLHttp();
xmlHttp.open("GET",url,true);//ここで true は非同期リクエストを表します
xmlHttp.onreadystatechange=updatePage;
xmlHttp .send(null);
}

function updatePage(){
if(xmlHttp.readyState==4){
var response=xmlHttp.responseText;
if(response =="ok"){
document.myform.nameerr.value="√";
return true;
}else if(response=="no"){
document.myform. nameerr.value="×ユーザー名が占有されています";
return false;
}else{
document.myform.nameerr.value="サーバーに問題があります";
return false ;
}
}
}




コードは上記のとおり、Firefox にユーザー名が存在するかどうかを検出します。は英語の文字なら普通ですが、中国語の名前だと何が起こっているのかわかりません。 ? ? ? ?

-----解決策--------------------------------
操作中にエラーが発生しました。
check.php ページでユーザー名をエコーし​​て、取得されたコードが文字化けしているかどうかを確認できます。文字化けしているので、urlencode を使用して処理してください。
------解決策---------
var url="check.php?n= " +num;
url=エンコードURI(url);
------解決策---------
check.php ページでユーザー名をエコーし​​、Check取得したコードが文字化けしているかどうかを確認します。文字化けしている場合は、urlencodeを使用して処理します。
------解決策------------------

ディスカッション
引用: データベース エンコーディングとは何ですか?登録ページのスクリプトエンコーディングは何ですか?この 2 つは一貫していますか?矛盾している場合は、iconv() 関数を使用してデータの文字エンコーディングを変換する必要があります
私のデータベースでは、データベース、テーブル、フィールドはすべて gb2312 を使用しています。また、mysql_query("set Character set gb2312" も追加しました)。 ) ;
をチェックします。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。