我有一个简单的输入文本字段:
<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变量的代码是什么代码?
答案 0 :(得分:3)
假设您正在使用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