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

以下のソースを使って、タイムアウト処理などを実装している
のですが、まず、タイムアウト処理をさせると
JSONPManager.request('http://...',{
success : function(o){alert('success');},
failed : function(o){alert('failure');},
timeout : 5000
});
javascriptにエラーが表示されます。
JSONPManager.b***** call undfineかな?
これを消すにはどうしたらいいでしょうか?

http://e6sc8e.jugem.cc/?eid=324

さらに、今、alertしている部分に
別のfunctionを呼ぶようにして、innerHTMLをしたいのですが
画面が消えてしまいます。

JSONPManager.request('http://...',{
success : function(o){testAA(o);},
failed : function(o){testBB(o);},
timeout : 5000
});

って感じで、戻り値をtestAAに渡したいです。
どうしたらいいのでしょうか?

あまり、具体的にかけずにすいません。

●質問者: hopefully
●カテゴリ:就職・転職 ウェブ制作
✍キーワード:JavaScript エラー ソース タイムアウト 戻り値
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● tdoi
●60ポイント ベストアンサー

JavaScriptなので、ブラウザ依存はありますが、以下の感じで、IE7、FireFox 3.0.5、Chromeでは動作しました。


まず、一箇所元のプログラムにバグがあります。

32行目付近の

var script = d.createElement('script');

は、

var script = this.d.createElement('script');

が正しいです。


これで多分動作すると思います。

手元では、こんか感じで動作確認させました。

json.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
 <head>
 <script type="text/javascript" src="./JSONPManager.js"></script>
 <script type="text/javascript">
//<![CDATA[
function doJob()
{
 var callback = {
 success: function(o) { insertText(o.responseObject); },
 failure: function(o) { alert ('failure'); },
 timeout: 5000
 };
 var url = "http://localhost:12004/dummy.php?callback={callback}";
 JSONPManager.request(url, callback);
}
function insertText(obj)
{
 var element = document.getElementById('result');
 element.innerHTML = obj['value1'] + ':' + obj['value2'];
}
//]]>
 </script>
 </head>
 <body>
 <a href="#" onClick="doJob(); return false;">do job</a>

<div id="result">
</div>

 </body>
</html>

で、取得データのために、次のようなPHPファイルで作成しています。

dummy.php

var data = {
 'value1': 'ABC',
 'value2': 'XYZ'
}
<?php
echo $_GET['callback'] . '(data)';
?>

何かの参考になれば。

◎質問者からの返答

タイムアウトした場合に、

JSONPManager.b._1244017155588_1 is not a function

とかFirefoxで出てきますね・・

どうしたらいいんだろう・・

関連質問


●質問をもっと探す●



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