繁体   English   中英

将变量从JavaScript传递到Ruby会话

[英]Pass variable from JavaScript to Ruby session

我有一个简单的输入文本字段:

<input type="text" id="master_password" size="20" placeholder="Master Password" />
<a class="btn btn-default" id="master_submit" href="#">Submit</a>

和一些JavaScript监听:

$(document).ready(function() {
  $('#master_submit').click(function() {
    alert("sometext");
  });
});

显然,警报起作用。 我想将文本字段( #master_password )存储在session[:master_pass]因为我将使用它来解密数据库中存储的许多密码。 我很确定我必须使用一些AJAX,但一点都不熟悉。 我将用什么代码替换js文件(或视图或控制器)中的警报,以将数据存储为Ruby变量?

假设您使用的是Rails,则可以使用JavaScript向Rails应用程序发出AJAX请求,然后在Rails中,可以设置session值。

在Javascript(jQuery)中:

var data = "password=" + encodeURIComponent($('#master_password').val());

$.ajax({
  url: '/my_controller/action',
  data: data,
  type: 'post'
})
.done(function(response) {
  // Do something with the response
})
.fail(function(error) {
  // Do something with the error
});

在Rails中,使用适当的路线设置控制器,然后执行以下操作:

class MyController < ApplicationController
  ...
  def action # << name whatever you like
    session[:password] = params[:password]
  end
  ...
end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM