2

全体像の質問。私は Python で書かれた私の e コマース サイトのすべてのショッピング カート メソッドで実行されているチェリーピー サーバーを持っています。フロントエンドでjqueryを使用しています。

Python メソッドへの POST は JavaScript では簡単ですが、データを逆に渡すことはできません。JSON で送り返すことはできますが、必ずしも便利とは限りません。最も簡単な方法は、チーターのようにjavascript変数を作成するvar width = $widthことですが、それは面倒です。

ここで根本的に間違っていることは何ですか? サーバーとクライアントのやり取りを正しく構成しているようには見えません。サーバーメソッドを呼び出す最良の方法と、サーバーからの情報をページに埋め込んで JavaScript で作業できるようにする最良の方法は何ですか?

4

2 に答える 2

1

私が与えることができる唯一の答えは、別の全体像の質問をすることです-あなたのJavaScriptがその仕事をするために実際にどれくらいのデータが必要ですか?一部の内部データは、ユーザーがそのデータを表示または変更する必要がない/できないため、おそらくセッション変数に格納する必要があります。クライアント側で必要なデータは、次の3つの方法で渡すことができます。

  1. サーバー側のテンプレートに組み込まれています(あなたのvar width = $width例)
  2. クエリ文字列パラメータまたはURLフラグメントから取得されます(your-domain.com/products?id=27たとえば、にリダイレクトして、スクリプトでその変数を検索し、必要な処理を実行します)。
  3. スクリプトにサーバーへのajax呼び出しを行わせ、サーバーに必要なデータを返してもらいます。

3つの方法はすべて完全に正当です。唯一の問題は、JavaScriptで実行する必要がある作業量と、クライアント側とサーバー側で重複作業を実行する量です。

1最も簡単ですが、JavaScriptのコーディング習慣を助長する可能性があります(コードをリファクタリングして問題を修正するのではなく、サーバー側のテンプレート言語を使用して一連のコードを生成できるためです。
2おそらく最も高速ですが、必要に応じて複雑さが天文学的に増大します。より多くの機能を追加します-そして、事前に必要なものについて非常に良いビジョンを持っていない限り、長期的に維持するのが最も困難になります。
3最高ですが、セキュリティホールを作成したり、二重の作業を行わずに実装するのは最も困難です- -ただし、これが完了すると、APIが機能するまでの半分以上になります。

于 2010-11-02T01:07:06.420 に答える
0

私が知る限り、あなたがここで話していることは、私が知っている 2 つの方法で行うことができます。

  1. AJAX リクエストは、必要なものを何でも返すことができます。
  2. ページへの複数の投稿とページ (ビュー) を変更するロジック

より低いレベルで話している場合は、新しく接続したクライアントに関する情報を http リクエストで取得できます。

ここで何を尋ねているのかよくわかりません。より具体的な例を挙げていただけますか?

于 2010-05-13T19:42:27.193 に答える