問題タブ [javascriptmvc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1442 参照

jquery - AJAX イニシャライザの設計パターンを使用した javascriptMVC シングルトン

AJAX呼び出しで初期化するシングルトンに使用する正しいパターンを見つけようとしています。これは、私がすでに取り組んでいることの単純化された例です。

期待どおりに動作しますが、これは「正しい」方法ではなく、初期化子のコールバックを現在実行中の ajax リクエストの成功呼び出しにフックする方法があると感じています。競合が発生する可能性があるのではないかと心配しています。配列アプローチによる条件。私はここで正しい軌道に乗っていますか?

または、これを行う簡単な方法はありますか?生活を楽にするために、ここで欠けている概念は何ですか?

0 投票する
1 に答える
1150 参照

javascript - EmbjerJS 対 BackboneJS 対 JavascriptMVC

私のこの質問は、基本的な構造とそれらすべての間の変更を学習したり質問したりすることではなく、別のフレームワークを 1 つに置き換えたすべての GURU の最も強力な基準を持つことに関するものです。

この質問は以前にも多くの人から聞かれたことだと思いますが、今回は別の視点からお話ししたいと思います。どうやら、比較ですべての人々が何をしているのかを知るために、Googleで少し調査を行ったようです。結局、私は得た、

背骨

  • 5.5KB というフレームワークの軽量化。
  • このリンクに基づくドキュメントがない
  • 厳密な MVC 規則に従います。
  • モジュール化するには、AMD で構成する必要があります
  • _underscore (フレームワーク ライブラリ) をキックオフにフォーカス

JavaScript MVC

  • 豊富な UI コンポーネント

  • 重いフレームワーク。

  • 欲求不満のレベルが低い。

  • 通常のドキュメント。

  • テスト用のコア エンティティを提供します

  • コマンド ラインで使用する Steal を搭載

  • もちろんMVC

  • DOMに2つのファイルをロードするだけです

  • 4 つの異なるテンプレート エンジンを所有しています。

EmberJS

  • もっと、BackBoneJs。バックボーンが残したすべてのギャップを埋めるために作られました
  • サイズは43K。すべてのヘルパー ライブラリを提供するため、コードが少なくて済みます
  • AMD と組み合わせてモジュール化できます。
  • より多くのドキュメントで十分に人気がありません。
  • ハンドルバー テンプレートを使用します。

これらはポイントの一部であり、すべてのフレームワークには独自の特徴があります。では、ハイブリッド モバイル アプリケーションに使用する場合、どちらが適しているでしょうか。

しばらく考えてみてください。私は PhoneGap と jQuery Mobile を使用していますが、後でコードを拡張できるようにし、アプリケーションに完全な階層を与えるために、モバイル アプリケーション開発に最適なフレームワークはどれでしょうか?

それは、速度、階層、信頼性、読み込み時間、Ajax 呼び出し (ヘルパーのもの) などによるものです。

ありがとう

0 投票する
1 に答える
489 参照

google-maps-api-3 - steel.js を使用して Google マップ API を非同期にロードする

(javascriptmvc拡張から)steal.jsを使用して次のコードを実行しようとしています:

これは、他のすべてのスクリプトで機能します。ただし、Google マップ API の URL の場合、「'sensor' パラメータが設定されていません」というタイプのエラー メッセージが表示されます。これを取り除く方法を教えてください。

このスクリプトを非同期的にロードする別の方法を示すことができれば、それも問題ありません。同様に、Google js api loaderを試してみましたが、バージョン 2 までの Google マップ API の読み込みはサポートされていますが、バージョン 3 はサポートされていません。よろしくお願いします。

0 投票する
2 に答える
1332 参照

javascript - backbonejs は canjs のように「ライブ バインディング」を使用しますか?

私は js mvc を比較してきましたが、多くの人が canjs の「ライブ バインディング」を自慢していることに気付きました。backbonejs、spineなどの他の人気のあるmvcと比較して、それが正確に何であり、どのように役立つかを誰かが説明できますか...

0 投票する
1 に答える
412 参照

javascript - JavascriptMVC コントローラーにスクリプトをロードするにはどうすればよいですか

スチールを使用してスクリプトをロードする方法は知っていますが、コントローラーのinitメソッドのコードが実行される前にロードしたいと考えています。コントローラーの初期化の前に、スクリプト ファイルのメソッドを定義する必要があります。

どうやってやるの?

編集:背景情報:次のように、コントローラーでsteal関数を使用してスクリプトファイルをロードしようとしました:

<script>その結果、ファイルの head セクションのタグを介してファイルがロードされました。また、設定ファイルをロードする前にjQueryが定義されていませんでした。

0 投票する
1 に答える
1326 参照

javascript - JavasciptMVC に定数値を格納する最良の方法は何ですか?

JavaScript には定数がないことはわかっていますが、構成値を個別に保存して、見つけやすく微調整しやすくしたいと考えています。

  1. キーと値のペアを個別に作成$.Classし、静的部分に格納します
  2. または、JSON 構成ファイルから読み取らせます
  3. または何か良い
0 投票する
1 に答える
1042 参照

cakephp - RESTful Web サービスのように動作するように CakePHP 2.x をセットアップする方法 (JavascriptMVC と一緒に使用する場合)

非常に優れたjavascriptMVC(http://forum.javascriptmvc.com)で動作するようにcakephpをセットアップしようとしています。JavaScriptMVC には、次の形式の JSON 出力が必要です。

Cake は、先頭にクラス名を追加して、より深くネストされた配列を生成します。問題を解決する試みを見つけましたが、cakephp 2.x 用ではありません。新しい配列を単純に生成し、それをphp経由でjson_encode()できることはわかっていますが、このhttps://gist.github.com/1874366のような関数と、それを解凍する別の関数を含める方がよいでしょう。そのような機能を配置するのに最適な場所はどこでしょうか? AppController が機能していないようです。コントローラーの beforeRender() や beforeFilter() に入れるべきでしょうか?または、誰かがこれに対する既存のソリューション/プラグインを知っているのでしょうか? 私はかなり時間に追われていたので、これは私の現在の状況では私にとって最善でしょう.

0 投票する
1 に答える
315 参照

javascriptmvc - jmvc 3.2.2 - コントローラーの継承とスチールのロードオーダー

フォルダー [app]/main/create_parent/create_parent.js にベースコントローラーがあります

として定義

[app]/contact/create/create.jsなど、CreateParentを拡張するいくつかの子コントローラーがあります

として定義

これはすべて(ほとんど)非圧縮でうまく機能し、ランダムにベースコントローラーが見つからないというエラーが表示されます....圧縮してパッケージ化すると、ベースコントローラーが定義されていないというエラーが一貫して表示されます。

これは、スティール ロード オーダーの問題によるものです。メインの [アプリ名].js には次のものがあります。

だから私は最初にベース食べる親を「盗んで」、残りのコントローラーを「盗んだ」...だから、私はそれを正しくやったようですか?最初に contact/create/create.js ファイルで basec コントローラーを盗んだとしても、まだ文句を言います。

繰り返しますが、これはほとんどの負荷で正常に動作しますが、圧縮されていないときはランダムにエラーが発生しますが、圧縮すると一貫性があります。「then」構文は読み込み順序を定義するものだと思っていたので、steal の機能を明らかに誤解していますか?

ありがとうハンス

0 投票する
1 に答える
579 参照

javascriptmvc - JavascriptMVC ルートの例

私はJavascriptMVCを見つめていて、現在jQuery.routeを理解しようとしています。ルーティングを実行するサードパーティのプラグインが他にもあることは知っていますが、具体的には Javascript MVC に付属する jQuery.route を見つけようとしています。

Backbone.js と Ember のルーティング フレームワークには精通していますが、JMVC については理解していません。ドキュメントを読んでコードを見てみましたここ、しかし例がなく、まだ理解できません。

ブラウザに次のような URL が表示される場合など、基本的なことをしようとしています。

その後、何らかの機能が実行されます。Backbone と Ember の仕組みに似たもの。JavascriptMVC の jQuery.route を使用してこれを行うことはできますか?

0 投票する
3 に答える
311 参照

javascript - https と http の間で秘密鍵を維持する

私は、フロントエンドに純粋な JavaScript を使用し、RESTful AJAX 呼び出しを介してデータの Web サービスにアクセスする、サービス指向アーキテクチャを利用する新しいサイトに取り組んでいます。

特に重要ではありませんが、私のスタックは次のとおりです。

  • javascriptMVC
  • jQuery
  • ブートストラップ
  • ASP.NET Web API (.NET 4.0 上の C#)
  • MSSQL

この記事から、クライアント (JavaScript) とサーバー (Web API を介した REST サービス) の間で秘密鍵を共有すると、Web サービス呼び出しを保護するための良い方法がいくつかわかりました。ただし、暗号化に使用する秘密鍵を確立する方法に苦労しています。

悪い考え #1

ただし、最初は、HTTPS 経由で発生するログイン時に設定し、再利用のためにクライアントの Cookie に保存することでした。問題は、私たちのサイトがhttp://www.example.comにあるのに、私たちの SSL 証明書はhttps://secure.example.com用であるため、secure.example.com Cookie にアクセスできないことです。 www.example.com から。

悪い考え #2

次に考えたのは、次のように、HTTPS ログインから HTTP ポストログイン ページに URL パラメータを介して暗号化および署名して渡すことでした。

http://www.example.com/processLogin?key=[encryptedKey]&sig=[encryptedSig]&user=[userid]

encryptedKey と encryptedSig は両方とも、そのトランザクションのためだけに存在する別の秘密鍵で暗号化されます。ログイン時に作成され、データベース内のそのユーザーに割り当てられます。HTTP 側では、これらすべてがサーバーに渡され、サーバーはそれを復号化し、署名を検証し、その秘密鍵を削除し (リプレイ攻撃から保護するため - 基本的にnonce )、復号化された秘密鍵 ([encryptedKey]復号化されたもの) を返します。

それ以降、復号化された値は、[encryptedKey]将来のすべてのトランザクションに使用されます。問題は、復号化された秘密鍵を HTTP 経由で回線経由で送信する必要があることです。

悪い考え #3

また、この値を復号化するために使用される JavaScript にハードコードされたキーがあることも簡単に思いつきましたが、どのように難読化しようとしても、ハッカーに発見されて使用される可能性があります。

悪い考え #4

また、最初のハンドシェイクで公開鍵暗号を使用するある種のキー交換も検討しましたが、他の場所で述べたように、クライアント側では、最初のハンドシェイクが終了しない限り、改ざんがないと確信することはできません。 SSL - 振り出しに戻ります。

大きな疑問

では、 HTTPSを介さずにすべてを管理するにはどうすればよいでしょうか。この秘密鍵を Cookie に保存するには、HTTP と HTTPS で同じドメイン名を使用する必要があります?

サイトの非 SSL 部分では、クレジット カードやログイン情報などは共有されないことに注意してください。この吸盤を大きく開いたままにしたくないだけです。