我正在尝试让 Rails 在特定条件下通过 ajax 请求呈现 .html.erb
模板。默认情况下,当我发送 ajax 请求时,我会一直返回 .js.erb
文件。
我不会解释我为什么要这样做,但我想知道是否有一种方法可以指定我何时通过 ajax 发送请求,我希望返回 html 内容而不是 js,或者,如果有一种方法可以在 Rails 3.1 中重构以下内容:
respond_to do |format|
format.html
format.js do
if params[:page].nil?
render "home.html.erb"
else
render "home.js.erb"
end
end
end
谢谢!
最佳答案
假设你使用的是jquery,你可以设置dataType选项,即
$.ajax('some/page', {dataType: 'html'})
或者
$.get('some/page', function(){ //callback}, 'html')
将格式添加到 URL(即请求“/some/page.html”)也应该有效(无论您如何提出请求)
关于javascript - 如何在 Rails 3 中使用 ajax 请求请求 html 页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10255423/