Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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 Ajax post提交表单ruby on rails_Ruby On Rails_Ajax_Jquery - Fatal编程技术网

Ruby on rails Ajax post提交表单ruby on rails

Ruby on rails Ajax post提交表单ruby on rails,ruby-on-rails,ajax,jquery,Ruby On Rails,Ajax,Jquery,实际上,我可以在那里将变量传递给js.erb,比如说 我在控制器中有一个方法create 在我的application.js中,我有我的Ajax帖子 然后我有了create.js.erb 在我的创建表单中,我有两个隐藏的\u字段\u标记 在我的create.js.erb中,这里是ajax成功发布和执行操作的地方,但是我如何访问隐藏的_字段数据来执行我的逻辑,以便在成功时执行某些操作 这是因为,当js成功时,我有两个不同的动作来决定我应该处理哪个动作。 js.erb实际上是如何工作的?此外,当我在

实际上,我可以在那里将变量传递给js.erb,比如说

我在控制器中有一个方法create 在我的application.js中,我有我的Ajax帖子 然后我有了create.js.erb

在我的创建表单中,我有两个隐藏的\u字段\u标记 在我的create.js.erb中,这里是ajax成功发布和执行操作的地方,但是我如何访问隐藏的_字段数据来执行我的逻辑,以便在成功时执行某些操作

这是因为,当js成功时,我有两个不同的动作来决定我应该处理哪个动作。 js.erb实际上是如何工作的?此外,当我在application.js中警告表单数据时,虽然js工作正常,但它不会发出警告。有什么想法吗

$(document).ready(function() {
  $("#new_answer").submit(function() {
    $.post(this.action, $(this).serialize(), null, "script");
    alert("you are submitting" + $(this).serialize()); //it dint work but it did post
    return false;
  })
})
等等,当您这样做时,让我们假设您的:controller=>“months”和 :action=>“三月”

我是说你的$(this.action()返回“/月/三月”

这将存储在url中,当您通过下面的post方法点击该url时,表单元素在params散列中“months”控制器的“march”操作中可用

现在,在“result”js变量中,整个params散列都将可用,这实际上是您正在发出的警报

月(u controller.rb)

def march

  render :text => params

end
application.js

$("form#new_answer").submit(function() {  

          var data = $('form#new_answer').serialize();

          var url = $(this).action();

           $.post(url ,data, function(result){

            alert(result);

            });        

           return false;

          });

这仍然是处理我的脚本吗??例如:create.js.erbi已测试,它仍在处理,但它不会通知数据…我想知道发生了什么。erm,是的..但当我试图通知params时,它是我在表单中隐藏的字段标记,无论是在控制器中还是在js.erb中,它都会显示我未定义或空白…有什么想法吗?另外,我做var data=$('#ele').val();和警报(数据),在我的js.erb中,它显示未定义..我知道它应该可用吗?你能发布你的控制器和js.erb文件吗?