Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.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
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 - Fatal编程技术网

Ruby on rails 在rails 3.2.7中将javascript变量传递给控制器 var离开日期为2013年2月11日”; 风险值发布日期为2013年2月21日; jQuery.ajax({ 数据:{出发:出发日期,返回日期:返回日期}, 键入:“post”, url:“/payment/create”, });

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>

这是我的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>


    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
});