我有下一个问题,我有一个打开与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加载的页面不是完整的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') %>");