【发布时间】:2017-12-27 08:00:53
【问题描述】:
(Rails 版本 5.1.2)
出于与this 堆栈溢出问题中所述相同的原因,我想使用 HTML 而不是 javascript 来响应 AJAX。
但是,我实际上无法让它工作。
我正在使用 form_for 和 remote: true 通过 AJAX 发送请求。请注意,我还尝试过data: {type: :html}。
我的控制器动作有render layout: !request.xhr? 行并且有一个关联的视图。我想发回给客户的正是这个视图。
还有客户端代码:
$("form").on('ajax:success', (e, data, status, xhr) ->
console.log xhr.responseText #using console.log data produces same result
)
给予:
Turbolinks.clearCache()
Turbolinks.visit("http://localhost:3000/...", {"action":"replace"})
HTML 在哪里?
【问题讨论】:
-
我不是 100% 确定我理解你想要做什么,但是你能不能不渲染 HTML 服务器端并在 AJAX 调用响应中返回它?
-
这就是我想要做的。
-
正如链接的问题所提到的,您为什么不避免使用远程表单,而只需从 javascript 自己进行 AJAX 调用,从 Rails 接收 html 作为字符串,然后将其附加到您的 HTML 中?跨度>
标签: javascript jquery ruby-on-rails ajax