我有模板:blabla.haml
和2个布局:
layouts/application.js.erb
layouts/application.html.haml
在控制器中我有render 'blabla.haml'
日志:request.xhr? # true
所以如果我用ajax发送请求,我仍然会得到html答案:text / html和layouts / application.html.haml作为布局
我该怎么做才能得到正确的答案?
答案 0 :(得分:0)
class UsersController < ApplicationController::Base
def index
respond_to do |format|
format.js { }
format.html {}
end
end
end
您也可以使用respond_with来实现它:
class UsersController < ApplicationController::Base
respond_to :html, :xml, :json
def index
respond_with(@users = User.all)
end
def create
@user = User.create(params[:user])
respond_with(@user, :location => users_url)
end
end
甚至在您的ajax查询中,例如,使用jquery($ .ajax,$ .get,$。。post,$ .getScript等),您可以强制使用内容类型,例如:
$.getScript('ajax/test.js', function(data, textStatus){
console.log(data); //data returned
console.log(textStatus); //success
console.log('Load was performed.');
});