创建Backbone.Model以管理服务器连接

时间:2014-03-05 20:54:36

标签: backbone.js

基本上,我想构建一个测试应用程序,我需要输入服务器凭据才能连接到ElasticSearch服务器,我希望此连接仅在会话期间可用。

我认为这可以通过Backbone.Model进行管理,但我不太清楚如何处理它。我也需要收藏品吗?我是否将其存储在Session或locaStorage中?

Page 1

表格包含协议,主持人,帖子,用户名,密码

Backbone.View.extend
...
events: {
 'submit #connection-form' : 'connect'
},
...
connect: function(){
      console.log('Connecting...');
      protocol = $("#protocol").val();
      host = $("#host").val();
      port = $("#port").val();
      user = $("#username").val();
      password = $("#password").val();
      App.connection = new Connection({ protocol: protocol, host: host, port: port, user: user, password: password})

      self = this
      App.connection.connect(function(response){
        if (response.status == 200) {
          App.connection.set('name', response.name)
          App.router.navigate('dashboard', {trigger: true});
        } else {
          $(self.el).prepend(_.template(noticeTpl, { type: 'danger', message: "Could not connect to the server." }))
        }
      });

      return false;
    }

Page 2

我的ElasticSearch服务器上的索引列表

我需要在整个会话中存储第一页上提交的内容,以便能够随时查询服务器。

1 个答案:

答案 0 :(得分:0)

因为你只处理一个对象,所以你没理由需要一个集合。我也没有看到任何理由使用localStorage,除非你存储了大量数据,你不是,或者希望应用程序可以离线使用,这在这里没有任何意义。

使用sessionStorage非常简单:

sessionStorage.setItem('user', JSON.stringify(user));
var obj = JSON.parse(sessionStorage.getItem('user'));