Ruby on rails 3 使用jquery.ajax发送时如何在rails控制器中获取PUT参数
一按按钮我就有了Ruby on rails 3 使用jquery.ajax发送时如何在rails控制器中获取PUT参数,ruby-on-rails-3,jquery,Ruby On Rails 3,Jquery,一按按钮我就有了 (function() { $("#btnStep2").click(function() { number = $('#btnStep2').attr('number'); var dataString='number='+number+'&reserved='+$('#rd'+number).is(':checked')+'&environment=qa1'; alert(dataString); $.ajax({ typ
(function() {
$("#btnStep2").click(function() {
number = $('#btnStep2').attr('number');
var dataString='number='+number+'&reserved='+$('#rd'+number).is(':checked')+'&environment=qa1';
alert(dataString);
$.ajax({
type: "PUT",
url: "/tnrepos/"+number,
contentType: "application/text; charset=utf-8",
beforeSend: function(xhr) {xhr.setRequestHeader('X-CSRF-Token', $('meta[name="csrf-token"]').attr('content'))},
data: dataString,
success: function(data){
alert("update successfully");
}});
return false;
});
});
在服务器上,请参阅
Started PUT "/tnrepos/12345" for 127.0.0.1 at 2013-03-15 11:38:03 -0700
Processing by TnreposController#update as */*
Parameters: {"id"=>"12345"}
但是我没有看到其他参数通过
在控制器中,我打印参数
"action"=>"update", "controller"=>"tnrepos", "id"=>"12345"}
为什么没有其他参数?我在firefox和chrome上进行了测试
$.ajax({
type: "PUT",
url: "/tnrepos/" + number,
contentType: "application/text; charset=utf-8",
beforeSend: function(xhr) {xhr.setRequestHeader('X-CSRF-Token', $('meta[name="csrf-token"]').attr('content'))},
data: {data : dataString} ,
success: function(data){
alert("update successfully");
}});
return false;
});
});
您可以看到上面使用的数据:{data:dataString}
现在,您的params[:data]将具有数据字符串
我建议将其作为“{number:number,reserved:
$('#rd'+number).is(':checked')}并在控制器上访问它们
它们的名称有,params[:number],params[:reserved]等等
试试看,让我知道