2011-12-28 9 views
1

私はニュースレターを送信するスクリプトを作成しています。メールを送信するプロセスは、ユーザーが「送信」をクリックし、sendMail.phpへのAJAXリクエストを送信することです。 SendMail.phpは単にメッセージを受け取り、それをデータベース内のすべてのユーザーに送信します。PHPリクエストからAJAX経由でフロントエンドを更新

ダイアログを送信してもポップアップが表示され、達成したいのはサーバーがリアルタイムでクライアントに現在の進捗状況を返信して、進捗バーを更新してクライアントに正確に通知できるようにすることですすべてのメールが送信されました。

私は何を探しているのか、これについてどうやって行くべきか正確にはわかりません。これは

謝罪いかなる曖昧さのために任意のヘルプであれば、私はjQueryのを使用しています、これは私はあなたが

:)詳しく説明するために私が必要な場合だけ聞いて、知っておく必要があるものの種類を確認していない私には新しいです

乾杯:

編集:いくつかの混乱があるように見えますが、私は簡単なAJAXリクエストをするつもりはありません。私が苦労しているのは、サーバーからクライアントにデータを徐々に送り返すことです。

答えて

0

ここで、jQueryの$.post()機能を確認してください:http://api.jquery.com/jQuery.post/。これにより、サーバー側のスクリプトに要求を送信し、リアルタイムの結果を受け取ることができます。

1

私のやり方は、リクエストにUUIDを割り当てることです。サーバーは、UUIDをキーとしてセッションの進行状況を更新する必要があります。 その後、JavaScriptは、ajax jqueryインターフェースを使用して進行状況をサーバーに繰り返し照会できます。

だから全体的なスクリプトは次のようなもの(擬似コード)

<script> 

function pollServer(uuid) 
{ 
    $.ajax({ 
     url:'/pollProgress', 
     // the response is the progress 
     success:function(result){ 
       if (progress == 100) { ... /* finish */ } 
       else 
       { 
        ... // update the progress somewhere.. for example $("#progress").text(result) 
        setTimeout(function(){pollServer(uuid)},100); 
       } 
     } 
} 
// first request to server will be the "send" request 
$.ajax({ 
    url:'/sendMail', 
    // the server should send the UUID as the result 
    success:function(result){ pollServer(result)} 
}) 
</script> 
関連する問題