1

我刚开始在我的 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")}
});
4

0 回答 0