我刚开始在我的 Rails 应用程序中使用 haml,我明白处理缩进是多么痛苦。无论如何,当我在不使用 Ajax 的情况下通过链接浏览页面时,我试图解决 Flash of Unstyled Content(FOCU) 问题。我遇到了 HTML to haml convert ,我意识到我的 application.html.haml 中的 html 标记与转换器和我编写的那个无关。所以我尝试了两者,看看会发生什么。我不确定为什么会这样以及我应该如何解决它。希望有人能指出我正确的方向。我包含了我的 javascript 文件,以防万一谢谢
在我看来/layout/application.html.haml(这个版本的 ajax 工作得非常好,但是 FOCU)
!!! 5
%html
%head <----------- no indented
%title= process
= stylesheet_link_tag "application", media: "all", "data-turbolinks-track" => true
= javascript_include_tag 'jquery', 'application', "data-turbolinks-track" => true
= csrf_meta_tags
转换告诉我应该是(这个版本的ajax在刷新后工作一次但没有FOCU)
!!! 5
%html
%head <----------- indented
%title= process
= stylesheet_link_tag "application", media: "all", "data-turbolinks-track" => true
= javascript_include_tag 'jquery', 'application', "data-turbolinks-track" => true
= csrf_meta_tags
我的 process.js
$(document).ready(function(){
$("a[name='process']").on("click",function(){
$.ajax({
url: '/process/process_table',
success: function(data) {
$('.main_container').html(data);
return false
}
});
history.pushState(null,"", "index");
});
});
我的 javascripts/application.js
jQuery.ajaxSetup({
'beforeSend': function(xhr) {xhr.setRequestHeader("Accept", "text/javascript")}
});