在Rails 4应用程序中的URL中传递JavaScript变量,以便我可以在控制器中使用它?

时间:2016-08-05 18:20:09

标签: javascript jquery ruby-on-rails ruby ruby-on-rails-4

我想在URL中传递JavaScript变量的值然后 通过访问它在我的Rails 4 app控制器中使用该值 param[:my_variable]。我已经尝试过这里建议的各种方法,但没有什么对我有用,我无法将我的JavaScript变量传递给URL并在控制器中访问它。我是Rails的新手。

如果你可以建议我一个解决方法,那将是一个很大的帮助,我提供的代码我已经尝试过,它对我来说也很有意义,但它没有用:

<script>
    var content = 'something'; 
var url = '/index/view? 
message='+encodeURIComponent(content); 
new Ajax.Request(url, 
{ asynchronous:true, evalScripts:true, method:'get', 
onComplete: function(t) { // do something
    alert('done'); 
 } 
});
</script>

2 个答案:

答案 0 :(得分:0)

根据您能够搜索用户输入信息的要求,我建议使用js库。这些js库可能有一个人创建的gem,它将帮助你以这种方式搜索。

这两个视频非常适合显示实时搜索

答案 1 :(得分:0)

正确的ajax语法是

var url = '/index/view?' 
$.ajax({
      url: url,
      type: 'get',
      data: {your_js_variable: value},
      success:function(data){
          if(data.status == 'true'){
             // do as you like
          }
          else{
              // do as you like
          }
      }
  });

然后在您的控制器中,您可以获得params[:your_js_variable]等参数。

我跳过了脚本标记。

希望有所帮助。