2012-03-26 15 views
1

私は解析データのためのアプリケーションを開発しました。ドメイン名。ユーザーが10ドメインを提供するとき、以下のjavascriptコードは正常に機能しますが、ユーザーが100ドメインの分析を開始すると、以下のコードは機能しません。私は3秒後に別のページにリダイレクトするためにjavascriptを使用しました。処理の割り当てには少なくとも1分の時間がかかります。 バックグラウンドで膨大な処理を実行するには?

function submitForm(){ 
     document.form1.button2.click(); 
    var t=setTimeout("redir()",3000); 
    } 
    function redir(){ 

     window.location.href = '<?php echo base_url();?>menu/showmsg'; 

    } 

それは小さな仕事である

は、それが正常に動作しているが、動作しませんジャバスクリプトを処理するための大きなファイルがある場合、それはPHP側から完了したタスクまで待ちます。 AJAXまたはJQUERYにオプションがありますか、またはJavaScriptの中で最も優れたコードはありますか?

+3

はあなたが詳細にもう少し説明できますか?あなたが書いたことから、私は問題が何であるか分かりません。 jsは長くかかりますか? PHPは?あなたはそれを同期して保つのに問題がありますか?私は本当に伝えることはできません。ありがとう。 – Yoshi

+0

ありがとうございます。 ignore_user_abort(true)を設定しました。 PHPコードで私はそれをバックグラウンドで処理したいが、処理のためにフォームを送信すると、メッセージとともに他のページにリダイレクトする。 –

+0

あなたは解決策を見つけたようですが。代わりにジョブキューを構築することをお勧めしたいと思います。私はこれが長期的に役立つだろうと思う。 – Yoshi

答えて

0

簡単な方法は、PHPを実行するターゲットページでiframeを使用することです。ページが読み込まれ、iframeはPHPページを待ちます。いくつかのJavaScriptを使用してiframe内の変更やフラグをチェックして、プロセスを進めることができます。

0

たとえば、jQuery.ajax(url [、settings])を使用してすべての要求を非同期で送信できます。ここで

ドキュメント:http://api.jquery.com/jQuery.ajax/

$.ajax({ 
    url: '<?php echo base_url();?>menu/showmsg', 
    error: function(){ 
     return true; 
    }, 
    success: function(msg){ 
     // make what do you want 
    } 
}); 
関連する問題