从登录表单仪表盘传递值(Passing values from login form to dash

2019-10-19 12:51发布

什么是检索中镖聚合物登录表单上输入用户名,在接下来的页面被读取到它被重定向的最佳方式?

登录组分是如下 -

@CustomTag('alfresco-login-form')
class LoginFormComponent extends FormElement with Polymer, Observable {
  LoginFormComponent.created() : super.created();

  @observable String username = "";
  @observable String password = "";

  @observable Map loginData = toObservable({
    'username' : '',
    'password' : ''
  });


  @observable String serverResponse = '';
  HttpRequest request;

  void submitForm(Event e, var detail, Node target) {
    e.preventDefault(); // Don't do the default submit.

    request = new HttpRequest();

    request.onReadyStateChange.listen(onData); 

    // POST the data to the server.
    var url = 'http://127.0.0.1/alfresco/service/api/login';

    request.open("POST", url);
    request.send(_loginDataAsJsonData());
  }

  void onData(_) {
    if (request.readyState == HttpRequest.DONE &&
        request.status == 200) {
      // Data saved OK.
      serverResponse = 'Server Sez: ' + request.responseText;

      Map parsedMap = JSON.decode(request.responseText);

      var currentTicket = new Ticket(parsedMap["data"]["ticket"]);

      //keeps the back history button active
      //window.location.assign('dashboard.html');

      //doesn't keep the back history button active
      //doesn't put the originating page in the session history
      window.location.replace('dashboard.html');
    } else if (request.readyState == HttpRequest.DONE &&
        request.status == 0) {
      // Status is 0...most likely the server isn't running.
      serverResponse = 'No server';
    }
  }
  String _loginDataAsJsonData(){
    return JSON.encode(loginData);
  }
}

我需要访问该loginData [“用户名”] parsedMap [“数据”] [“票”]在页面dashboard.html可用。

Answer 1:

不是一个真正的答案,但长期的评论:

你的代码演示了如何发送凭据到服务器。 所以我之前的评论仍然适用。 你不能只是传递变量到一个新的页面。 当页面加载后,这个就像是一个应用程序重新启动。 如果这两个网页来自同一个域加载或者你可以从您存储它们以前在服务器重新加载它们,您可以在您重定向到URL传递值,如饼干。 要知道,新的页面被你必须使用一些会话处理(如前面提到的会话cookie)相同的用户请求。 这有没有关系飞镖或聚合物这是更多有关网络是如何工作的。



文章来源: Passing values from login form to dashboard