Javascript Nextjs创建一个url,该url只处理没有视图的代码
我正在使用NextJS创建一个新站点,我遇到的问题是关于密码重置验证端点 当用户触发密码重置时,它会转到API,进行所有处理,然后返回到位于Javascript Nextjs创建一个url,该url只处理没有视图的代码,javascript,reactjs,next.js,Javascript,Reactjs,Next.js,我正在使用NextJS创建一个新站点,我遇到的问题是关于密码重置验证端点 当用户触发密码重置时,它会转到API,进行所有处理,然后返回到位于/verifyreset的NextJS前端,该前端将代码保存到本地存储中,进行少量处理,然后将其转发到另一个页面 问题是my_app.js中有一个默认布局将组件包装成这样 function MyApp({ Component, pageProps }) { return ( <DefaultLayout><Compo
/verifyreset
的NextJS前端,该前端将代码保存到本地存储中,进行少量处理,然后将其转发到另一个页面
问题是my_app.js中有一个默认布局将组件包装成这样
function MyApp({ Component, pageProps }) {
return (
<DefaultLayout><Component {...pageProps} /></DefaultLayout>
);
}
函数MyApp({Component,pageProps}){
返回(
);
}
这意味着布局显示在/verifyreset
端点上,我只希望该端点处理数据
这有什么办法吗?要使端点能够访问本地存储,但不能成为所谓的“页面”,您必须将
/verifyreset
放在api文件夹中
这就是Next.js
在他们的文档中所说的:
Any file inside the folder pages/api is mapped to /api/* and will be treated as an API endpoint instead of a page.
参考资料:我确实部分理解了你的问题,如果你在问题中附加了更多的代码片段,那就很清楚了 无论如何,从你下面的陈述中: 当用户触发密码重置时,它会转到API,完成所有操作 处理,然后将它们返回到 /verifyreset将代码保存到本地存储中,只需执行一点点操作 然后将它们转发到另一页 我的理解是:
**API End Point**
async resetPassword(req, res) {
try {
const model = model.body || {};
let data = await PasswordBusiness.reset(model);
//data needs to have information that you require on frontend
return res.json({success: true, data: data});
} catch (error) {
return res.json({success: false, error: error});
}
}
** Frontend - pageA **
import Router from 'next/router';
const resetPassword = (model) => {
callApiEndPoint(model).then(data) {
// do what you want to do with data
//finally navigate to page c
Router.push('url-to-page-c');
});
};
return <button onClick={resetPassword}> Reset </button>
**API端点**
异步重置密码(req、res){
试一试{
const model=model.body | |{};
let data=wait PasswordBusiness.reset(model);
//数据需要在前端包含您需要的信息
返回res.json({success:true,data:data});
}捕获(错误){
返回res.json({success:false,error:error});
}
}
**前端-pageA**
从“下一个/路由器”导入路由器;
const resetPassword=(型号)=>{
callApiEndPoint(模型)。然后(数据){
//对数据执行您想要执行的操作
//最后导航到c页
Router.push('url-to-page-c');
});
};
返回复位
答案2:如果您需要从API重定向到页面[我认为您不需要这样做],在API端完成操作/处理后,使用一些带有数据的查询参数(如果它们不是易受安全攻击的数据)将用户直接重定向到pageC。e、 g./pagec?token=sometokens&otherinfos=otherinfos,在pagec上做事情。完成后,从页面中删除查询字符串,而不刷新页面。我认为API路由没有访问localstorage的权限?@CodeSauce我还没有尝试过,但如果是这样的话,可能会将该过程更改为在API端点执行某些操作,并返回到任何页面,然后在此处保存您的localstorage。你能提供一些代码吗?这可能有助于我了解它的大局。