jQuery ajax()后退按钮不会更改内容

时间:2019-02-11 07:37:11

标签: jquery

我使用本地文件的hashchange制作了简单的$ .ajax(),但是后退按钮仅更改url,而不更改内容。我发现没有任何东西对我有用。有人可以帮我吗?

  $(document).on('click', ".nextPage2", () => {
    $.ajax({
      url: 'page2.html',
      dataType: "html",
      success: function(result) {
        $('.content').html(result);
      }
    });
    window.location.hash = 'looks';
    return false;



  })
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <div class="content"></div>



    <button type="button" class="nextPage2" name="button">page2</button>

2 个答案:

答案 0 :(得分:1)

更改URL时,还使用JavaScript修改DOM。

您需要listen for changes到URL,然后使用JavaScript再次修改DOM。

function navigated() {
    if (location.hash === '#something-different') {
        $('.content').html("The content for something-different");
    }
}

window.addEventListener("hashchange", navigated);

答案 1 :(得分:0)

如果page2.html是HTML文件,则应使用.load()函数代替.html()

$('.content').load(result);


load()将从服务器加载数据,并将返回的HTML放入匹配的元素。
http://api.jquery.com/load/

page2.html中的代码不得包含“ html”,“ head”和“ body”标签,因为将被插入到您的.content div内



希望这个帮助
Hele