无法在 jQuery 中获取 Rails 返回值

Posted

技术标签:

【中文标题】无法在 jQuery 中获取 Rails 返回值【英文标题】:Can't get Rails return value in jQuery 【发布时间】:2012-06-23 03:53:59 【问题描述】:

我有一个 Rails 方法只返回一个字符串,但由于某种原因,我似乎无法在 javascript 中获得 success 返回值。

def count
  render :nothing => true
  return "success"
end

$.post("/home/count",
  function(data) 
    document.getElementById("test_call_button").value = 'Calling...' + count;
  );

$.post("/home/count"); 返回的对象具有responseText" "

【问题讨论】:

【参考方案1】:

控制器动作的返回值不会返回给请求者;你渲染的是什么,在这种情况下你专门渲染:nothing

如果您想在 javascript 中查看结果,请将渲染行更改为

render :text => 'success'

我会敦促您呈现一个 json 对象作为您的响应,这使得将来在必要时添加其他字段变得微不足道。

还请务必查看Rails rendering guide。

【讨论】:

以上是关于无法在 jQuery 中获取 Rails 返回值的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 jquery rails 获取 html 选择的下拉值?

在 rails 3.2.2 中使用 $.ajax() 异步获取数据

jQuery绑定ajax:成功在rails 3应用程序中无法用于新创建的(ajax)项目

jQuery 在简单计算中返回 NaN

rails jquery tokeninput 返回“不是函数”

带有 mmenu/sidr 和 Jquery 和 Turbolinks 问题的 Rails