[英]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.