jquery – rails ajax URL更改

前端之家收集整理的这篇文章主要介绍了jquery – rails ajax URL更改前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有下一个问题,我有一个打开与ajax的页面,并改变浏览器的动态URL这样
window.history.pushState(null,null,"/desktop/manage/add");

所以当我在“添加页面并打开任何页面获取/发布请求(甚至另一个网站),并按“返回”按钮在浏览器中,我没有完整的HTML代码页面,但只有ajax部分.喜欢这个:

这可以如何解决

P.S如果我删除window.history.pushState(null,“/ desktop / manage / add”);
一切正常,但我需要更改浏览器的URL.

UPD:
我打开这个页面通过post request,NO ajax

那么我通过AJAX打开“管理/添加页面

然后转到google.com(任何网站)和点击返回按钮

而我的ajax加载的页面不是完整的HTML页面,只有ajax部分只是像文本:

我读了这个问题,通常情况下,程序员将事件添加后台点击按钮到application.js,如下所示:

$(window).on('popstate',function () {
    $.get(document.location.href)
  });

但这只有用户不要去谷歌(或任何其他网站),它只有通过我的网站和点击返回按钮才有效.

UPD2:
/添加控制器

def addProduct

@categories = Market.where("depth = ? and title != ''",0).reorder(:title);
        @tags = UserTag.where(user_id: current_user.id).includes(:tags);
        respond_to do |format|
            format.html{render layout: "desktop_layout"}
            format.js {}
        end
    end

这里是我的addProduct.js :(这个渲染文件你看到后面的按钮点击的截图)

window.history.pushState('page212','Mikee.kz','/desktop/manage/add');
    $("#rightBlock").html("<%= escape_javascript(ajax_section id:'page',:render => 'myadd') %>");

解决方法

我有一个同样的问题,但是与replaceState()相反.我起初没有注意到这一点,但是我的同事们开始打电话给我.原来,我没有注意到,因为我使用的是Firefox,这似乎是Chrome / Chromium独家使用的错误.事实上,它似乎是 a while now错误,但Google尚未修复.

话虽如此,似乎没有真正的解决方案,至少在Google修复它之前.当然,只需重新加载页面就会使问题立刻消失,但你仍然会看到丑陋的代码.而您也可以不使用Chrome / Chromium,但这也不是一个解决方案.

猜你在找的jQuery相关文章