上一篇
$.ajax({ url: '/api/login', method: 'POST', data: { username: 'user', password: 'pass' }, success: function(response) { if (response.success) { window.location.href = '/dashboard'; // 🚀 直接跳转 executePostLoginMethod(); // 🎯 跳转后执行方法 } }, error: function() { alert('登录失败'); // 💥 错误处理 } });
💡 关键点:
top.location.href
可跳出iframe限制(如CSDN案例)。import { useNavigate } from 'react-router-dom'; function Login() { const navigate = useNavigate(); const handleSubmit = () => { fetch('/api/login') .then(res => res.json()) .then(data => { if (data.success) { navigate('/dashboard', { state: { fromLogin: true } }); // 🔁 带状态跳转 } }); }; return <button onClick={handleSubmit}>登录</button>; }
// 请求成功后 axios.post('/api/submit') .then(() => { router.push({ name: 'SuccessPage', params: { action: 'submitted' } // 📦 传递参数 }); this.$nextTick(() => { this.initSuccessPage(); // 🎬 页面加载后执行 }); }) .catch(error => { console.error('请求失败:', error); // 💔 错误处理 });
mounted
生命周期中触发。useEffect
中监听路由变化。// React示例 useEffect(() => { if (location.state?.fromLogin) { executePostLoginMethod(); // 🚀 路由变化后执行 } }, [location]);
// Vue router.push('/new-page'); setTimeout(() => { initPage(); // 🕒 100ms后执行 }, 100);
{ "redirectUrl": "/path" }
,前端用response.redirectUrl
获取。router.push('/page?id=123')
,目标页面通过useRoute().query.id
获取。window.location.href
(快速实现)。本文由 业务大全 于2025-08-26发表在【云服务器提供商】,文中图片由(业务大全)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vds.7tqx.com/wenda/734677.html
发表评论