たとえば、ユーザーがログインしたい、接続が遅い、または要求が一部のネットワークに滞留している場合、ユーザーは待機しますが、待機するよりも要求を再送信する方が良い場合があります。ajaxタイムアウトを正しく処理する方法
質問:
- 望ましい待ち時間でしょうか? (ファイルをアップロードしないで、単純なログイン )私は15秒を置いたが、多分それは多すぎる。
- 最適なソリューションは何ですか?
1))アヤックスタイムアウトに
$.ajax({
url: '{{ url('/login') }}',
data: data,
method: 'POST',
timeout: 15000,
を設定し、エラー
error: function(data, status, error){
if(status==="timeout") {
var errorString = 'Please retry. Ref Timeout';
}
3それらを表示)彼は再び
2をログインをクリックすると決定したまで待っているユーザーをキープ自動再試行を行う(code)
$.ajax({
url : 'someurl',
type : 'POST',
data : ....,
tryCount : 0,
retryLimit : 3,
...
error: function(data, status, error){
if (status == 'timeout') {
this.tryCount++;
if (this.tryCount <= this.retryLimit) {
//try again
$.ajax(this);
return;
}
return;
}
4)
setTimeout(function(){
$.ajax({...})
}, 15000);
5 AJAXの上にラッパー関数を使用します)Some other options