Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 使用ajax保持rails参数_Jquery_Ruby On Rails_Ajax - Fatal编程技术网

Jquery 使用ajax保持rails参数

Jquery 使用ajax保持rails参数,jquery,ruby-on-rails,ajax,Jquery,Ruby On Rails,Ajax,我的/map/mappge页面已经从我的索引中获得@name。所以我的地图控制器 class MapController < ApplicationController def mappage @name = params[:name] end 我想做的是在保留name参数的同时调用ajax。 所以我打电话 $(document).ready(function () { $("#my_button").click(function () { var

我的
/map/mappge
页面已经从我的索引中获得@name。所以我的地图控制器

class MapController < ApplicationController
  def mappage
    @name = params[:name]
  end
我想做的是在保留name参数的同时调用ajax。 所以我打电话

$(document).ready(function () {
    $("#my_button").click(function () {
        var ajax_name = "<%= @name %>";

        $.ajax({
            url: "/map/mappage",
            type: 'GET',
            data: {
                'name': ajax_name
            },
            success: function (data) {
                alert("good");
            }
        });
    });
});
$(文档).ready(函数(){
$(“#我的#按钮”)。单击(函数(){
var ajax_name=“”;
$.ajax({
url:“/map/mappage”,
键入:“GET”,
数据:{
“名称”:ajax\u名称
},
成功:功能(数据){
警惕(“良好”);
}
});
});
});
当我点击
“#我的_按钮”
时,会出现警告消息。问题是,当我点击
“#my_按钮”
时,就会出现错误
@name
为零。我检查了一下我的url

'myhost'/map/mappage?name=name1&commit=go
'myhost'/map/mappage?


如何保存@name参数?任何我可以阅读的建议或文档?

要做到这一点,rails的
方法是使用一个带有
remote:true
的表单,以及它的端点(一个带有
respond\u to:js
的控制器,以及相应的
.js
视图)

请告诉我您是否需要一些代码来说明这一点。

您可以使用gem'
通过view将params从控制器rails传递到javascript文件似乎是一种简单的方法,检查一下,我不认为您实际使用params[:name]来获取名称值,因为很明显您使用的是select语句,所以请提出您的问题clear@VanHuy,谢谢你的链接。我解决了,博斯科维奇是对的。将remote设置为true,并直接传递参数是实现您想要做的事情的好方法。
$(document).ready(function () {
    $("#my_button").click(function () {
        var ajax_name = "<%= @name %>";

        $.ajax({
            url: "/map/mappage",
            type: 'GET',
            data: {
                'name': ajax_name
            },
            success: function (data) {
                alert("good");
            }
        });
    });
});