0

私は当初、古典的な「入力中に更新する」Javascript ベースの年金ポット計算機を作成するつもりでしたが、ユーザーが .js ファイルをダウンロードしてビジネス ロジックを確認できるようにしたくありませんでした。ただし、.js ファイル内のビジネス ロジックを保護する堅牢な方法はないようです。

Therefore, I am now going to put the calculation logic on the server in PHP. There is plenty of material out there with respect to creating a form which is submitted to another page that lists the outputs. However, my calculator is a side bar on the home page and I would like to user to click "calculate" and for the results to be displayed in the same box without being taken to a separate page.

Is this feasible and if so what would you suggest as the architecture of the solution? (e.g. keep calculation logic in .php and still call it via Javascript using xyz etc). Looking for guidance and design recommendations. The aim is a calculator with reasonably complex logic but no database lookups and most importantly the user must not be moved to a separate page.

Many thanks. 3rd August 2012

編集 (2012 年 12 月 17 日): 4 か月後、ようやく解読できました! 私が構築しようとしていたもののデモをwww.pencalc.orgで見てください。Javascript を使用して、PHP ベースの計算を非同期的に呼び出します。皆さん、ご協力ありがとうございます。

4

3 に答える 3

0

knittlとsachleenはあなたを正しい方向に押し進めていましたが、もっと完全な答えが必要だと思います。

ビジネスロジックをエンドユーザーに公開したくない場合は、js/AJAXを使用してフォームをPHPスクリプトに自動的に送信できます。次に、スクリプトは電卓の値を計算し、その値(たとえば、$ 20.45)のみを出力します。JSは、最終的にPHPスクリプトからの応答を確認します。サーバーから値を取得したら、その値を計算機の関連フィールドにダンプします。これで、ユーザーが見ることができるのは、ユーザーのデータをPHPスクリプトに投稿する一連のJSだけです。

ただし、AJAXの多くの作業やDOMの操作に関連するすべての作業を自動化するのに役立つJQueryを見てみましょう。

于 2012-08-03T16:26:26.303 に答える
0

これは、JavaScript にビジネス ロジックがなくても実行できます。

  1. すべてのユーザー アクションの内容をjQuery .dataなどで保存する
  2. ユーザーが [計算] をクリックすると、このデータが AJAX 経由で PHP スクリプトに送信されます。
  3. PHP はリクエストを処理し、結果を出力します。
  4. JavaScript は結果を DOM に戻します。
于 2012-08-03T16:29:08.797 に答える
0

ビジネス ロジックは PHP ページに配置されます。$_POST配列から入力を受け取り、データを処理し、出力をエコーし​​ます。

.post()POST リクエストの作成方法については、jQuery を参照してください。入力を使用してリクエストを行い、PHP から出力を取得します。.text()次に、または.val()類似のものを使用してデータを表示できます。

于 2012-08-03T16:32:15.643 に答える