Jquery 在执行AJAX HTTP请求时,在没有布局的情况下呈现模板时出现问题
我正在使用RubyonRails3.0.10和jQuery1.6。我试图在控制器操作中处理与模板呈现相关的行为。我正在考虑根据参数请求渲染或不渲染布局(有关更多信息,请参阅下面的代码) 在我的控制器中,响应程序的实现方式如下:Jquery 在执行AJAX HTTP请求时,在没有布局的情况下呈现模板时出现问题,jquery,ruby-on-rails,ruby,ajax,rendering,Jquery,Ruby On Rails,Ruby,Ajax,Rendering,我正在使用RubyonRails3.0.10和jQuery1.6。我试图在控制器操作中处理与模板呈现相关的行为。我正在考虑根据参数请求渲染或不渲染布局(有关更多信息,请参阅下面的代码) 在我的控制器中,响应程序的实现方式如下: def show respond_to do |format| format.html { render :layout => params[:layout] } # I am using the 'params[:layout]' (boolean)
def show
respond_to do |format|
format.html { render :layout => params[:layout] } # I am using the 'params[:layout]' (boolean) in order to handle the layout rendering.
end
end
因此,如果我浏览http://website.com/articles/1
URL它加载没有布局的视图模板
现在,如果我执行一个AJAX HTTP请求,如下所示
$jQ.ajax({
type: 'GET',
url: '<%= article_url(@article) %>',
data: 'layout=false', # Here I set the parameter 'params[:layout]' so to not render the 'layout' in the related controller action
error: function(jqXHR, textStatus, errorThrown) {
...
},
success: function(data, textStatus, jqXHR) {
...
div_jquery_object.html(data);
}
});
$jQ.ajax({
键入:“GET”,
url:“”,
数据:'layout=false',#这里我设置了参数'params[:layout]',以便在相关控制器操作中不呈现'layout'
错误:函数(jqXHR、textStatus、errorshown){
...
},
成功:函数(数据、文本状态、jqXHR){
...
div_jquery_object.html(数据);
}
});
它将使用布局加载视图样板
AJAX HTTP请求是否应该返回没有布局的模板?如何制作?
参数[:布局]
是一个字符串
如果不需要任何布局,则应传递false
,而不是“false”
因此,您应该使用一些case
语句