0

我正在尝试做一个单页应用程序,我有两种类型的用户。内容(仪表板)应根据登录用户的类型呈现。
现在,我对 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
}
})();

虽然逻辑似乎没问题,但我真的不知道我应该如何开始编写代码。具体来说,如何获取 myjs.js 中的参数以触发 AJAX 调用然后获取响应。

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 回答