0

単一ページのアプリを作成しようとしていますが、2 種類のユーザーがいます。コンテンツ (ダッシュボード) は、ログインしているユーザーのタイプに応じてレンダリングする必要があります。
今、私は laravel と sammy.js の両方に完全に慣れていないため、それを処理する方法が本当にわかりません。

ワークフローは次のようにする必要があると思います。

  1. 各ユーザー タイプのダッシュボードのテンプレートを作成する
  2. ユーザーはログイン資格情報を入力し、ボタンをクリックします
  3. 資格情報を検証し、ユーザーが資格情報を正しく入力したかどうかとユーザーの種類を返す PHP への Ajax 呼び出し。
  4. Ajax が応答を取得し、パラメーターを使用して新しい関数が呼び出されuser_typeます。ユーザーの種類に応じて、適切なコンテンツがレンダリングされます。

今、私のコードは次のようになります:
//app/views/start.php

<form class="navbar-form pull-right" method="post" action="#/login">
      <input class="span2" type="text" placeholder="Email">
      <input class="span2" type="password" placeholder="Password">
      <button type="submit" class="btn">Sign in</button>
</form>

//public/js/myjs.js (新しいコンテンツをレンダリングします)

mtp = (function() {
    var app = null;
    var init = function($) {

    app = $.sammy('#pagecontainer',function() {
        this.use('Template');

    this.get('#/', function(){} );
    this.post('#/submitrequestfrontpage', function(){
        context=this;
        $("#pagecontainer").html('');
        context.render('addlifecircledata.template').appendTo($("#pagecontainer"));
        });
    this.post('#/login',function(){
           //need to put intelligent stuff here
           });
    });

$(function() {
    app.run('#/');
});

};

return {
    init: init
}
})();

ロジックは問題ないように見えますが、どのようにコードを書き始めればよいのかよくわかりません。具体的には、AJAX 呼び出しを開始して応答を取得するために myjs.js でパラメーターを取得する方法です。

4

1 に答える 1

0

次のようなhtml要素に保存できます

<input type="hidden" id="user_id" value="{{ $user_id }}" />

$('#user_id').val()後でmyjs.js で選択します

または、ヘッダーにすべての変数を割り当てることもできます。次に例を示します。

<head>
    <script>
      var user_id = '{{ $user_id }}';
    </script>
    <script src="myjs.js"></script>
</head>
于 2013-10-17T13:59:33.073 に答える