我在rails应用程序上有ruby并且我使用了大量的ajax来使网页动态化并且只改变它的特定部分。
在某些情况下,当使用ajax更改页面内容时,URL不会更改,我发现该URL不正确且行为不正确。
例如:
我在功能上忘记了密码,其中发送电子邮件给用户并带有编辑链接。该链接如下所示:
http://127.0.0.1:8080/password_resets/-k63MeQcBkCZt3fovkfsTA/edit
当用户打开并更改密码时,我将使用ajax提交表单。因此,会显示密码已更改且用户现在可以登录的消息,但URL保持不变。
在Rails中修复此问题的常用方法是什么?
答案 0 :(得分:2)
你想在你的一个.js文件中使用这样的东西
window.history.pushState('object', 'New Title', url);
你可能想看一下TurboLinks ......看看你自动寻找的东西。
答案 1 :(得分:0)
这是正常行为,ajax调用不会更改网址。如果你这样做它不再是ajax,它只是改变了页面。但你可以:
document.location="http://127.0.0.1:8080/password_resets/-k63MeQcBkCZt3fovkfsTA/psswd-Ok";
如果你想要你可以在网址中添加一个哈希值,它仍然是ajax:
document.location.hash="psswd-Ok";