javascript - 从 javascript 发布到 ruby

标签 javascript ruby-on-rails ruby ajax

所以我在 View 上有这段代码:

var variable_test = 'begin';
$.ajax({
  url : "/controller/index",
  type : "post",
  data : variable_test
}).done(function(response) {
  alert('1');
})
    .fail(function (error) {
    alert('2');
});

var eia = <%= @variable.to_json.html_safe %>;
alert(eia);

在 Controller 上我有这个:

def index
   @someVariable = 'end'
   @variable = params[:variable_test]
end

执行结果如下:

带有 1 的对话消息(所以它应该已经工作并发布了一些东西)

空的对话消息

这是服务器端的 POST 请求:

Started POST ...  
Processing by Controller#index as */*  
Parameters: {"begin"=>nil}  
...  
...  
Current user: anonymous  
...  
Completed 200 OK... 

那么有什么问题呢?它实际上是将变量 variable_test 发布到 Controller variable 吗?如果是,为什么它读作 null?如何解决这个问题?

最佳答案

它正在邮寄您的值(value)。问题是 data 将一个对象作为值,所以如果你想在服务器端读取值作为 params[: variable_test] 你需要进行 ajax 调用

var variable_test = 'begin';
$.ajax({
  url : "/controller/index",
  type : "post",
  data : { variable_test: variable_test },
}).done(function(response) {
  alert('1');
}).fail(function (error) {
  alert('2');
});

另一方面,我不确定你想要完成什么,你拥有的索引操作将尝试呈现你在 app/views/controller/下的 index.html.erb 文件,是在 ajax 请求中调用相同的索引操作?

抱歉没有评论,信誉不够。

关于javascript - 从 javascript 发布到 ruby,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33193276/

相关文章:

javascript - AJAX 登录的安全漏洞

javascript - 页面导航而不丢失表单字段数据?

javascript - 如何更新 meteor.js 中的 Mongodb 集合?

ruby-on-rails - 如何检查 cucumber 中的单选按钮?

sql - Activerecord 将具有相同列值的行合并为一个

javascript - JQuery:帮助解决 ".live"和 ".scroll"

javascript - V8 中的 fatal error

ruby-on-rails - Ruby on Rails to_json 问题与 :include

ruby-on-rails - 检查常量是否定义的正确方法是什么?

Ruby,真/假正则表达式