AJAXを使うには引用符に注意
1562 ワード
現在進行中のプロセス編成フレームワークではajax技術を用いて非同期通信を行う必要がある業務がある.この業務は主に普元のアクティビティ属性ページに業務機能の拡張ページを追加し、この操作普元のAPIで説明した非常に詳細で、ここではあまり紹介しないが、ここでは主にこの操作で出会った問題について述べる.
保存業務機能を非同期で行うためajaxを使用しますが、ajaxの核心は
XMLHttpRequestでは、このコアを使用するオブジェクトを作成します.このオブジェクトの作成はブラウザを区別しているのか、主にIEブラウザで異なるのかを区別します.この問題もIEブラウザだからです.
xmlHttpRequestオブジェクトを作成するコードは、次のとおりです.
ここではieブラウザでなければそのままnewが出てくるのですが、ieブラウザであれば状況によって異なりますが、6.0+であれば2つ目の方法であるmsxml 2を使い、5.5+であればmicrosoftを使います.
しかし、私たちが現在開発しているのは基本的にie 6です.0以上なので、私たちがよく書くと真ん中のそれを直接Microsoftで作成するのを省きます.
しかし、私たちが直面している問題は、作成時にxmlHttp=new ActiveXObject(「Microsoft.XMLHTTP」)である.xmlHttp=new ActiveXObject(Microsoft.XMLHTTP)と書かれています.このように他のブラウザではすべて実行に成功したが、IEに問題が発生し、IE 7-9に問題がなく、IE 6に問題が発生しただけで、お客様のところに配置するため、お客様はIE 6を使っていたが、引用符を怠ったため、終始実行に成功しなかった.検出により引用符が少なくなったためであることが分かった.一時的な油断は長時間のデバッグを無駄にします.
だからこのブログを書いて皆さんに共有して、これからこのような問題に注意してほしいです.
保存業務機能を非同期で行うためajaxを使用しますが、ajaxの核心は
XMLHttpRequestでは、このコアを使用するオブジェクトを作成します.このオブジェクトの作成はブラウザを区別しているのか、主にIEブラウザで異なるのかを区別します.この問題もIEブラウザだからです.
xmlHttpRequestオブジェクトを作成するコードは、次のとおりです.
function createXMLHttpRequest(){
// ie, ns、firefox
if(window.XMLHttpRequest){
xmlHttp=newXMLHttpRequest();
}elseif(window.ActiveXObject){
try{
xmlHttp=newActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
xmlHttp=newActiveXObject("Microsoft.XMLHTTP");
}catch(e){
alert(“ ajax!”);
}
}
}
}
ここではieブラウザでなければそのままnewが出てくるのですが、ieブラウザであれば状況によって異なりますが、6.0+であれば2つ目の方法であるmsxml 2を使い、5.5+であればmicrosoftを使います.
しかし、私たちが現在開発しているのは基本的にie 6です.0以上なので、私たちがよく書くと真ん中のそれを直接Microsoftで作成するのを省きます.
しかし、私たちが直面している問題は、作成時にxmlHttp=new ActiveXObject(「Microsoft.XMLHTTP」)である.xmlHttp=new ActiveXObject(Microsoft.XMLHTTP)と書かれています.このように他のブラウザではすべて実行に成功したが、IEに問題が発生し、IE 7-9に問題がなく、IE 6に問題が発生しただけで、お客様のところに配置するため、お客様はIE 6を使っていたが、引用符を怠ったため、終始実行に成功しなかった.検出により引用符が少なくなったためであることが分かった.一時的な油断は長時間のデバッグを無駄にします.
だからこのブログを書いて皆さんに共有して、これからこのような問題に注意してほしいです.