【问题标题】:Simple ajax in railsrails中的简单ajax
【发布时间】:2014-04-11 20:08:36
【问题描述】:

我的问题看起来很简单,但奇怪的是我尝试过的都没有。

我只想用 ajax 加载一些部分。我将一个模板分成几个请求,以便一次加载一个页面。具体来说,我希望将 #footnotes 元素作为 ajax 请求加载。

父模板services/index.html.haml 如下所示:

.services
  - @services.each do |service|
    .service= service.name
      #footnotes 

加载#footnotes 元素后,我想启动一个将services/_footnotes.html.haml 加载到其中的ajax 调用。

这里是services/_footnotes.html.haml

- @footnotes.each do |footnote|
  .footnote= footnote

ServicesController 中,有一个动作有望呈现我的services/_footnotes.html.haml

  def footnotes
    stop_id = params[:stop_id]
    service_ids = params[:service_ids].split(/,/)
    @footnotes = ServicesHelper.generate_footnotes(service_ids, stop_id)
    respond_to do |format|
      format.html
      format.json { render json: @footnotes }
    end
  end

我从阅读过的各种答案中尝试了一些 javascript 解决方案。我尝试过但失败的 JavaScript 解决方案之一是:

$("#services").ready(function () {
    $(".service").each(function(index, element) {
        var stop_id = $("#stop_id").data("stopid");
        var service_ids = $(element).data("serviceids");
        $("#footnotes", element).getJson("/stops/" + stop_id + "/services/" + service_ids + "/footnotes");
    });
});

这个特殊的解决方案会产生错误Object [object Object] has no method 'getJson'

我似乎没能理解这到底是如何工作的。我究竟做错了什么?缺少什么?

【问题讨论】:

    标签: javascript jquery ruby-on-rails ajax


    【解决方案1】:

    $.getJSON

    而不是getJson

    所以,

    $.getJSON("your-json-url-here", function(data) {
        //Do stuff on data!
    });
    

    请看这里:jquery getJSON

    【讨论】:

    • 感谢您指出这一点,但这仍然会出现相同的错误:Object [object Object] has no method 'getJSON',它没有回答我关于解决问题的最佳方法的问题。
    • 我已编辑我的答案以更正来电。很抱歉,我不知道 rails 是如何工作的!
    • 编辑添加示例 JSON 调用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-28
    • 1970-01-01
    相关资源
    最近更新 更多