2016-10-03 3 views
0

私たちのサイトはAJAXを大量に使用し、いくつかの異なるPHPファイルをバックグラウンドで呼び出して個々のタブを埋めます。具体的には、JQueryとDataTablesが使用されます。 PHPはステートレスなので、各PHPファイルが独自の状態で独自のクエリを実行するため、単一のセッション(たとえば、このページビューで実行されたすべてのSQLクエリ)に対するすべての要求を処理するためにアクティビティログを作成するのに苦労しています。お互いを知らない複数のリクエストにまたがってアクティビティを記録する方法

これを処理する方法についてのヒントを教えてください。私は、問題を過度に複雑にしていることや、明らかな解決策がないことを恐れている。最後に

は、理想的に我々のアプリケーションのフッターのような何かを言うことができます。私は、特定のコードを必要としない

....、うまくいけば、上記:あなたのアプリケーションは、6 SQLクエリを実行し、ここではそれらはユーレカの瞬間を発見することができます。

+1

変数を格納する。あなたを正しく理解すれば、あなたのために働くかもしれません。セッションは、一度設定されたページからページに流れるでしょう。 – Austin

+0

@Austinのトラブルは、「このページは6つのクエリを実行しました...」などのように、データが私が望むよりも長く保存されることになります.12,18,24、 ...彼らがブラウザを閉じるまで。そうですね。 :)私は私のページの上に一意のIDを作成し、それにクエリを関連付けることができたとしますか?それはうまくいくかもしれない。 – LookingToLearn

答えて

0

Jqueryを使用する1つのソリューションは、コールバック関数を渡すための$。post Ajax呼び出しごとです。コールバックは、サーバーからDIVまたはjs配列に戻されたときに結果を追加します。

Ajaxのポストは次のようになります。

$.post(server_url, params, my_callback, "json") 

とコールバック:

function my_callback(response) { 

    $("#thediv").append(response) 

} 

これは非同期にidを持つdiv要素内の各応答が記録されますあなたはPHPのセッションを使用してに見えた "thediv"

+0

私はこのアイデアが気に入っていて、一般的にjQueryとJSをよく理解してほしいと思っています。しかし、古いサーバーのサーバー側の人間であることは、私にとってはあまりにも難しくなってしまうのではないかと心配しています。約7種類のリクエストが1ページになります。しかし、私はそれが合理的に見えるようにあなたの方法を試して終了することがあります。 – LookingToLearn

関連する問題