※ ChatGPTを利用し、要約された質問です(原文:Ajaxのプログラムをオブジェクト指向で・・・)
Ajaxプログラムのオブジェクト指向化
このQ&Aのポイント
Ajaxのプログラムをオブジェクト指向でまとめる方法とは?
出力されるエラーメッセージ「プロパティ 'readyState' の値を取得できません: オブジェクトは Null または未定義です。」の意味と解決方法について
JavaScriptでAjaxリクエストを行うための一般的な方法について
Ajaxのプログラムを一つのオブジェクトにまとめてみようと思ってやってみたのですが、
>エラー: プロパティ 'readyState' の値を取得できません: オブジェクトは Null または未定義です。
などと表示されて上手く行きません。
何が悪くてエラーが出るのかが理解出来ていません。
詳しい方、エラーの原因・解決方法を教えてください。お願いします。
php側
echo "test";
javascript側
//--------------------------------------------------------------------
// てすとオブジェクト
//--------------------------------------------------------------------
var Test = function() {// メンバ変数の定義
this.request = "";
this.query = "test";// クエリ
this.response = "";// レスポンス
};
Test.prototype = {// プロトタイプの定義
/* データ送信 */
tSend : function() {
if(this.query) {
this.request = this.ajaxRequest();
this.request.onreadystatechange = this.tLoad;
if(this.query) {
this.request.open("POST", "./index.php", true);
this.request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
this.request.send(this.query);
}
}
},
/* データ受信 */
tLoad : function() {
if((this.request.readyState == 4) && (this.request.status == 200)) {
alert("test");
}
},
/* HTTP通信用 */
ajaxRequest : function() {
var value = null;
try {
value = new XMLHttpRequest();
} catch(e) {
try {
value = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
try {
value = new ActiveXObject("Microsoft.XMLHTTP");
} catch(e) {
return null;
}
}
}
return value;
}
};
//-----------------------------------------------------------------------
// 実行
//-----------------------------------------------------------------------
var Test = new Test();// 通信用オブジェクトの生成
Test.tSend();// データ送信
お礼
ありがとうございます。 おかげで上手く動きました! その他、細かい知識までありがとうございます。