1

为有点模糊的标题道歉,希望这些重现步骤能告诉你我遇到的问题:

  1. 在谷歌浏览器中,访问griffinalters.com(在最新版本的 Firefox 或 IE 中似乎不存在该问题);
  2. 点击任意一张卡片;
  3. 访问另一个站点(about:blank 对此非常有效);
  4. 回击,您应该只看到为部分请求加载的 HTML(恰好看起来像http://www.griffinalters.com/card/29/?ajax)。

我 pushState 的链接是/card/29/,但我加载到我的 div 中的链接是/card/29/?ajax(根据这个答案中的建议)。最初我试图检查 in 的存在XMLHTTPRequestHTTP_X_REQUESTED_WITH对于它的价值,我正在使用 Django 的is_ajax方法)。

我加载了我的 XHR 返回的 HTML 块:

function update_main_card_from_url(theurl) {
    $(".primary-card").load(theurl + '?ajax');
}

依次调用:

function micro_card_click(event) {
    event.preventDefault();

    var theurl = $(this).attr("href");
    SimpleHistory.pushState(theurl);

    update_main_card_from_url(theurl);
}

我真正想了解的是为什么从不同的站点回击不会加载我推送的 URL,而是加载获取的 URL。谁能指出我正确的方向?

4

0 回答 0