这有点奇怪,我想要找出它的底细。
我有一个页面,用户在其中输入电子邮件地址并单击按钮,然后我会显示“您已注册!”消息-简单明了。
为此,我有两个路由。主路由和“已注册”路由。
在第一页,当用户输入电子邮件地址并点击按钮时,我会发起POST AJAX请求将电子邮件地址保存到我的后端数据库中(使用Axios包),完成后跳转到“signed-up”路由。
现在当我首次输入我的页面URL时
浏览器(Chrome、FireFox、Safari)似乎都会更改 URL 为
现在在Chrome上,当我点击提交时,它不会改变路由。事实上,在开发者控制台上,我看到了一个错误。
首先,为什么“post”请求被取消了?其次,当这种情况发生时,Chrome会无响应。所以我刷新页面,然后我得到了Chrome的“蓝屏死亡”。
现在很有趣的是,如果我将初始URL更改为
在哈希符号前插入问号,然后在Chrome上一切正常。这让我想到可能与我的路由路径或参数有关。有什么想法吗?
我有一个页面,用户在其中输入电子邮件地址并单击按钮,然后我会显示“您已注册!”消息-简单明了。
为此,我有两个路由。主路由和“已注册”路由。
<Route name="app" path="/" handler={Main}>
<Route name="signed-up" path="signed-up" handler={SignedUp} />
<DefaultRoute handler={Signup} />
</Route>
在第一页,当用户输入电子邮件地址并点击按钮时,我会发起POST AJAX请求将电子邮件地址保存到我的后端数据库中(使用Axios包),完成后跳转到“signed-up”路由。
handleSubmit() {
var router = this.context.router;
var email = this.refs.email.getDOMNode().value;
this.refs.email.getDOMNode().value = '';
helpers.postSignupEmail(email).then((response) => {
// then display the signed up page
router.transitionTo("signed-up");
});
}
现在当我首次输入我的页面URL时
http://localhost:1338
浏览器(Chrome、FireFox、Safari)似乎都会更改 URL 为
http://localhost:1338/#/
好的。在FireFox浏览器中,我输入电子邮件并点击提交按钮,一切都运行良好,并带我到
http://localhost:1338/#/signed-up
现在在Chrome上,当我点击提交时,它不会改变路由。事实上,在开发者控制台上,我看到了一个错误。
![enter image description here](https://istack.dev59.com/eSlqT.webp)
![enter image description here](https://istack.dev59.com/hmhCW.webp)
http://localhost:1338/?#/
在哈希符号前插入问号,然后在Chrome上一切正常。这让我想到可能与我的路由路径或参数有关。有什么想法吗?