Ruby on rails 在rails 3.2.7中将javascript变量传递给控制器 var离开日期为2013年2月11日”; 风险值发布日期为2013年2月21日; jQuery.ajax({ 数据:{出发:出发日期,返回日期:返回日期}, 键入:“post”, url:“/payment/create”, });
这是我的ajax调用 在终端中,它的值为{“出发”=>“2013年2月11日”,“返回日期”=>“2013年2月21日”} 但在控制器中,params[:depart]¶ms[:return]显示为Ruby on rails 在rails 3.2.7中将javascript变量传递给控制器 var离开日期为2013年2月11日”; 风险值发布日期为2013年2月21日; jQuery.ajax({ 数据:{出发:出发日期,返回日期:返回日期}, 键入:“post”, url:“/payment/create”, });,ruby-on-rails,jquery,Ruby On Rails,Jquery,这是我的ajax调用 在终端中,它的值为{“出发”=>“2013年2月11日”,“返回日期”=>“2013年2月21日”} 但在控制器中,params[:depart]¶ms[:return]显示为nil值 有人能帮我找出哪里出错了吗?将您的ajax更改为以下内容 <script> var depart_date='11 February 2013'; var depart_date='21 February 2013'; </script>
nil
值
有人能帮我找出哪里出错了吗?将您的ajax更改为以下内容
<script> var depart_date='11 February 2013';
var depart_date='21 February 2013';
</script>
jQuery.ajax({
data: { depart: depart_date, return_date: return_date},
type: 'post',
url: "/payment/create",
});
从您的代码数据:“depart=”+depart_date,尝试查看参数[:depart]您确定发送时填充了depart_date吗?另外,您可以尝试
{depart:depart_data}
而不是'depart='+depart_date
。谢谢您的回答。但这并不能解决问题。在控制器中获取nil值时,是否可以添加日志语句以查看params散列是否包含任何相关内容?您是否可以检查Chrome或FF中的network选项卡,以验证AJAX调用是否在POST请求中实际包含离开日期?
jQuery.ajax({
url: "/payment/create", // you to pass this as the url option
type: 'post',
data: 'depart=' + depart_date,
dataType: 'script', // this should be dataType, not dateType
success: function() { alert('success') } // this should be a function
});