2010-12-15 13 views
11

beforeSend属性を使用して結果領域を変更していないのに、私のajax呼び出しの実行中に読み込みイメージを表示しようとしています。jQuery ajaxの実行中にgifイメージをロードする

$.ajax({ 
    url: "/answer_checker.php", 
    global: false, type: "POST", 
    data: ({...clipped...}), 
    cache: false, 
    beforeSend: function() { 
    $('#response').text('Loading...'); 
    }, 
    success: function(html) { 
    $('#response').html(html); 
    } 
} 

ありがとうございます。

+0

あなたの他のオプションは何ですか?たとえば、偶然に 'async:false'ですか? –

+0

'global:false、タイプ:" POST "、データ:({...})、キャッシュ:false'私は' async'を使用していません –

答えて

8

、それはそれを行うための最善の方法ではないかもしれないが、それは持っていますこの場合に働いた。それはAJAX呼び出しが同じコンテンツを更新するまで、積載テキストを示したまま、AJAX機能を呼び出す前にresonceの内容を設定することにより

$('input').keyup(function() { 

    $('#response').text('loading...'); 

    $.ajax({ 
    url: "/answer_checker.php", 
    global: false, type: "POST", 
    data: ({...clipped...}), 
    cache: false, 
    success: function(html) { 
     $('#response').html(html); 
    } 
    }); 
}); 

答えに時間を割いた皆様に感謝します。

アラン

+0

これは簡単で簡単な方法ですが、私は常に同じことをします –

3

あなた あなたはまた、次のように使用することができますcache: false

+0

お返事ありがとう、私は使用していた余分なオプションを追加しました。 –

2

後にカンマが欠落していた、次のとおりです。私は解決策を持っている

$('#tblLoading').ajaxStart(function() { $(this).show(); }); 
$('#tblLoading').ajaxComplete(function() { $(this).hide(); }); 
19

私は同様の問題がありました。私の問題を解決するために、beforeSendセクションの.textを.htmlに置き換え、自分のステータスを保持する要素に挿入するhtmlタグを作成しました。成功関数は.text()関数で作成されたコンテンツを置き換えませんでしたが、.html()関数で作成されたコンテンツを置き換えました。

$.ajax({ 
    url: "/answer_checker.php", 
    global: false, type: "POST", 
    data: ({...clipped...}), 
    cache: false, 
    beforeSend: function() { 
    $('#response').html("<img src='/images/loading.gif' />"); 
    }, 
    success: function(html) { 
    $('#response').html(html); 
    } 
} 
関連する問題