【问题标题】:Making an AJAX request go to the right URL使 AJAX 请求转到正确的 URL
【发布时间】:2011-08-12 18:08:59
【问题描述】:

我在一些用于自动完成的 jquery 代码中有这个 ajax 请求:

$.ajax({type:"POST", url:("showable_videos/create.js"), data:{video:{profile:val}}});

自动完成作用于我的视频显示视图内的一个字段。因此,当它发出 AJAX 请求时,我收到此错误:

Started POST "/videos/showable_videos/create.js" for 127.0.0.1 at Tue Apr 26 00:18:33 -0700 2011

ActionController::RoutingError (No route matches "/videos/showable_videos/create.js"):

当我希望它只是 /showable_videos/create.js 时,Rails 会在 URL 前添加 /videos/。我该如何解决这个问题?

【问题讨论】:

    标签: jquery ruby-on-rails ruby ruby-on-rails-3 autocomplete


    【解决方案1】:

    由于您没有提供绝对路径(以“/”为根),rails 将其解释为“来自当前路径”而不是“来自根”。

    最好使用 Rails 路径助手,而不是像这样对 url 进行硬编码。

    【讨论】:

      【解决方案2】:

      将其设为绝对网址

       ... url:("/showable_videos/create.js") ...
      

      【讨论】:

        【解决方案3】:

        在您的网址前加上斜杠:/howable_videos/create.js。否则,浏览器会将其视为相对于当前目录。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-10-19
          • 1970-01-01
          • 1970-01-01
          • 2020-08-11
          • 1970-01-01
          • 1970-01-01
          • 2011-04-20
          • 1970-01-01
          相关资源
          最近更新 更多