1

私は ajax ベースの Web ページを持っています。xmlHttp オブジェクトはグローバル変数として作成され、ページ内の ajax.js スクリプトをリンクするだけで、アプリケーションのすべての関数で使用されます。

var objXmlHttp = createXmlHttpRequestObject();

3 つのリンク メニューを含むページがあります。すべてのリンクをクリックすると、xmlhttp 要求によって、選択したメニューの内容 (ログイン フォームまたはパスワード回復フォーム) がページに出力されます。このリクエスト中にページはリロードされないため、すべての呼び出しで次のような行があります

objXmlHttp.onreadystatechange=function1;

また

objXmlHttp.onreadystatechange=function2;

奇妙な理由で、特定の呼び出しを送信すると、古い関数がまだイベントにバインドされていることがわかりました(理解するためにアラートを実行しました)。したがって、コマンド objXmlHttp.send() がブラウザを開始すると、2 番目のステートメントの前に function1 が実行されます。

Firefox、Opera、Chrome にはこの機能がありますが、IE にはありません (コードで何か間違ったことをしたと思います!)。

誰もこの問題を見たことがありますか?

私はこのコードでこれを動作させようとします

objXmlHttp.onreadystatechange=null;

しかし、私はチュートリアルでそれを見たことがなく、IE は型の不一致のエラーを送ってきました。

私の問題に対する提案やアイデアをありがとう!

ps: このスクリプトを自分で作成する方法を学びたいので、フレームワークを使用しないソリューションを探しています!

4

0 に答える 0