1

jQuery Mobile では、ユーザーがボタンをクリックすると読み込みアイコンが表示され、Ajax 経由で新しい Web ページが読み込まれます。

しかし、私の場合、サーバーが応答しない場合があります。ajax ナビゲーション機能にタイムアウト (例: 10 秒) を設定する方法はありませんか? (制限時間を超えた場合は、ナビゲートを停止し、エラー メッセージを表示します)

4

1 に答える 1

1

タイムアウトを設定するには、静的な方法 (「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
    });
});
于 2012-08-05T16:35:23.550 に答える