2017-02-03 7 views
0

私は本質的に私のためにPHPスクリプトを実行し、その結果を私に返します。このスクリプトの問題は、完了するまでに約20秒かかり、このスクリプトの実行中にページが更新を拒否することです。スクリプトでページがリフレッシュされないようにします

これに対処するための優れたJavascriptのプラクティスは何ですか?参考のため

(スクリプト):

$.post('/api/myob/synchronise', { _token: token, task_id: task_id });

+0

PHPが完全に最適化されており、20秒(このスクリプトはdownloadedするjqueryのが必要)ですか? PHPがまだ仕事を終えていない場合、ページを更新する必要がありますか? –

+0

10000以上のデータベースエントリとそれらは必要なものとして処理されます。 –

+0

ページの更新は、ユーザーエクスペリエンスの機能です。スクリプトはいつでもリセットできます。私はちょうど、スクリプトがリロードをフリーズする理由を理解しようとしていますが、ページなどをフリーズしません。 –

答えて

0

どのようにページの残りの部分がロードされた後にPHPのページをロードするためにjQueryを使用してはどうですか? ページの読み込みが完了してから1秒後に実行されます。長い実行時間は

<div id="some_id"></div> 

<script type="text/javascript" src="jquery.js"></script>   
<script type="text/javascript"> 

// Check if the page has loaded completely           
$(document).ready(function() { 
    setTimeout(function() { 
     $('#some_id').load('index.php'); 
    }, 1000); 
}); 
</script> 
+0

これはUIの更新ではなく、データベースの操作です。さらに、パラメータはスクリプトに渡されます(このシナリオではパラメータを取得することができます) –

+0

はい、GETを使用して変数を送信するには、常に '.load( 'index.php?One = Var)'などを使用できます。これは最善の解決策であり、ロード時間は含まれません。 –

+0

@OliverKuchies - あなたは答えに満足していますか? –

関連する問題