人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

prototype.jsを利用しているのですが、
IE7では動作するのですが、FireFix(2.0)では動きません。

実行時に呼び出されるスクリプトは以下のようになっています。
※「sample.php」は現在時刻を返します

function execute() {

alert('1');

var url = 'sample.php';
var params = Form.serialize($('form'));
var ajax = new Ajax.Request(
url,
{
method: 'post',
parameters: params,
onSuccess: function( httpObject ) {
alert(httpObject.responseText);
}
}
);

alert('2');

}

いろいろと検索したのですが、どうもFireFoxのみで起きる現象らしいのですが、対策がわかりません。

なお、execute()自体はIE7でもFireFoxでもよびだされていることは、alert()をはさみ確認しました。
どうもonSuccess()が呼び出されないようです。
※動作させると、「1」は表示されますが、
「2」は表示されません。

どのような対策が可能か教えてください。

よろしくお願いします。

●質問者: preshu
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:2.0 Ajax firefox IE7 PHP
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● GEN111
●50ポイント ベストアンサー

Windows のローカル環境で試してみましたが、1、2、sample.php の結果が alert されました。

var params = Form.serialize($('form'));

ここは失敗してませんか?

付録 prototype.js:URLパラメータを生成する

◎質問者からの返答

ご指摘の通りでした。

どうも私がいくつかのテストをしている中で、

フォームとイベントの指定の修正が誤っていたようです。

ご指摘の内容で気づくことができ助かりました。

ありがとうございました。


2 ● Yota
●50ポイント

普通のHttpRequestでやってみるとか。

function createHttpRequest(){

//Win IE用

if(window.ActiveXObject){

try {

//MSXML2以降用

return new ActiveXObject("Msxml2.XMLHTTP") ;

} catch (e) {

try {

//旧MSXML用

return new ActiveXObject("Microsoft.XMLHTTP") ;

} catch (e2) {

return null

}

}

} else if(window.XMLHttpRequest){

//Win IE以外のXMLHttpRequestオブジェクト実装ブラウザ用

return new XMLHttpRequest() ;

} else {

return null ;

}

}



/******************* ファイルにアクセスし受信内容を確認します ***************************/

//XMLHttpRequestオブジェクト生成

var httpoj = createHttpRequest() ;

//open メソッド 第3引数は非同期ならtrue 同期ならfalse

httpoj.open('GET', 'sample.php', true) ;

//send メソッド

httpoj.send(null) ;

//受信時に起動するイベント

httpoj.onreadystatechange = function() {

//readyState値は4で受信完了

if (httpoj.readyState == 4) { //コールバック

var res = httpoj.responseText ;

alert(res) ;

}

} //イベントおわり


参考

http://allabout.co.jp/internet/javascript/closeup/CU20050515A/in...

◎質問者からの返答

ご回答いただいた内容でもOKですね。

私自身のミスは、どうも私がいくつかのテストをしている中で、

フォームとイベントの指定の修正が誤っていたようですが、

複数の手段を平行して検討できるように幅を広げたいと思います。

ご回答ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ