javascript - 如何在进行 ajax 调用后从 Controller 呈现部分内容

标签 javascript ruby-on-rails ajax ruby-on-rails-3

在我向 Controller 中的方法发出 AJAX 请求后,我试图渲染部分内容。这是我当前的 AJAX 调用:

$('.savings_link').click(function(event){
 $.ajax({
    type: 'GET',
    url: '/topics/savings_easter_egg',
    data: {
      savings: data[key]['saving']
    } ,
    dataType: 'json',
  });

 event.preventDefault(); // Prevent link from following its href
});

此调用当前有效,它触发了我的 Controller 方法,我尝试在该方法中返回并呈现部分内容。

def savings_easter_egg
  @savings = params[:savings] if params[:savings]

  return render :json => {
    :html => render_to_string({
      :partial => "topics/savings",
      :locals => { :savings => @savings }
    })
  }
end

使用 Firebug ,我能够得到响应:

{"html":"<p>Hi</p>"}

这反射(reflect)了我的部分主题/储蓄,但页面不会重新加载或显示我的部分内容。

但是,我想实际重定向或呈现(显示)实际部分。有什么建议吗?

最佳答案

你的代码应该是这样的

$.ajax({
 type: 'GET',
 url: '/topics/savings_easter_egg',
 data: {
  savings: data[key]['saving']
 },
dataType: 'json',
  success: function(data) {
    $('your div').html(data.html);
 }
});

您必须在成功函数中使用该响应,只需将其添加到上面完成的 div 即可。

关于javascript - 如何在进行 ajax 调用后从 Controller 呈现部分内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13319454/

相关文章:

ruby-on-rails - 如何使用 rails 整理 CSS 字符串?

javascript - 使用 jQuery 和 Ajax 发送输入数组

javascript - 无法使用 Angular 从 HTML View 获取值到 Controller 。解决方案返回$scope变量未定义

ruby-on-rails - 在 ruby​​ on rails 中从三种不同模型中订购数据

ruby-on-rails - 检查当前时间是否在10之前 :27pm

javascript - 使用 AJAX 和 PHP 和 Javascript 自动填充输入文本框

javascript - 禁止小数进入文本框不起作用

javascript - Lodash isEqualWith 定制器不检查字段

ajax - 避免在谷歌上为存档页面点击重复内容?

jquery - Twitter Typeahead 更新程序