jQuery Mobile では、ユーザーがボタンをクリックすると読み込みアイコンが表示され、Ajax 経由で新しい Web ページが読み込まれます。
しかし、私の場合、サーバーが応答しない場合があります。ajax ナビゲーション機能にタイムアウト (例: 10 秒) を設定する方法はありませんか? (制限時間を超えた場合は、ナビゲートを停止し、エラー メッセージを表示します)
jQuery Mobile では、ユーザーがボタンをクリックすると読み込みアイコンが表示され、Ajax 経由で新しい Web ページが読み込まれます。
しかし、私の場合、サーバーが応答しない場合があります。ajax ナビゲーション機能にタイムアウト (例: 10 秒) を設定する方法はありませんか? (制限時間を超えた場合は、ナビゲートを停止し、エラー メッセージを表示します)
タイムアウトを設定するには、静的な方法 (「data-transition」を使用) で行うべきではないと思います。リンクへのリスナーを作成し (「onclick」)、リスナー内で ajax 呼び出しを行ってページをロードします。そのために使用$.mobile.changePage()
します。
この$.mobile.changePage()
関数は、jQuery Mobile のさまざまな場所で使用されています。たとえば、リンクがクリックされると、そのhref
属性が正規化され$.mobile.changePage()
てから残りが処理されます。
あなたのコードは次のようになります:
$('#link_id').click(function() {
$.ajax({
url: "page_served_from_server",
error: function(jqXHR, strError){
if(strError == 'timeout')
{
//do something. Try again perhaps?
}
},
success: function(){
//charge your page :
// $.mobile.changePage('yourPageAdress',"turn",false,true);
},
// here you can specify your timeout in milliseconds
timeout:3000
});
});