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();// データ送信
No.2ベストアンサー
- 回答日時:
ちなみに MSXML2 接頭辞を使うときはバージョンを明示しろと IE の中の人が忠告しており(でないと 3.0 と看倣される)
また、Microsoft 接頭辞は IE の中の人がメンテナンスしてないのでもう使うなと言っている。
http://blogs.msdn.com/b/xmlteam/archive/2006/10/ …
No.1
- 回答日時:
onreadystatechange の this は XMLHTTPRequest
if((this.request.readyState == 4) && (this.request.status == 200)) {
↓
if((this.readyState == 4) && (this.status == 200)) {
関数に代入する場合はスコープが変化するため注意が必要。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
- その他(ブラウザ) グーの質問見ようとしたらブラウザ版で 3 2022/03/28 10:33
- PHP style.cssのjQuery条件付きcssが機能しない 4 2022/07/17 18:27
- JavaScript コードレビューをお願いします。 1 2022/07/16 05:38
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ローカルのレジストリを読みたい
-
VBAによる第3、4水準文字の判定...
-
jsファイルを閲覧者がダウンロ...
-
innerHTMLなどの反映タイミング
-
JavaScriptで ブラウザの閉じる...
-
JSPの処理の途中で、JavaScript...
-
JavaScriptによる....
-
リクエスト結果が一瞬しか表示...
-
”吴”とはなんですか?
-
正整数の半角数字かどうか判定する
-
PHP処理実行後のページの遷移に...
-
ブラウザからエクセルを開く方法
-
ローカルフォルダにあるPHPファ...
-
htmlのfileタグに自動で値を入...
-
javascript中の記述でのJSP文<%%>
-
CSJSとSSJSの違い
-
javascriptで最初のところに戻...
-
javascriptでエクセルデータ読...
-
フォルダを自動で開く
-
Ajaxが動きません~『status=0』?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ローカルのレジストリを読みたい
-
Webページ中の javascript をVB...
-
エクセル2010のvbaについて
-
画面間でのJavaScrip...
-
クラス デフォルトプロパティの...
-
evtとは
-
javaScriptでグローバル変数に...
-
PHPで定義した変数を引数として...
-
jquery か javascript で json ...
-
【javascript】プロパティ?オ...
-
for each for in
-
JavascriptのDOMについて
-
イベントリスナに登録される fu...
-
フォルダ内のファイル名を取得...
-
文字を移動させその位置を表示...
-
CSSのクラスを動的に変更 classで
-
jQueryで、listの要素数を取得...
-
javascript 親オブジェクトと子...
-
VBSを学ぶ前に、、、
-
Ajaxのプログラムをオブジェク...
おすすめ情報