我在 express( item/update/
) 中有一条路线,然后我想将它们发送回/
,我还想/
用“成功”或“失败”显示警报。我不想使用查询字符串或哈希,因为我希望它对用户隐藏。我也不想渲染/
,items/update
因为这似乎是个坏主意。另外,我已经尝试过 javascript history api,但这似乎是一个 hack,因为 history api 是用于其他用途的。
如果您需要更多信息,请告诉我。
你可以做几种方法,
1.您可以使用查询字符串重定向到“/”网址。由于您不喜欢在查询字符串中添加数据,因此备用选项是会话。
例如,
function itempUpdateHandler(request,response){
//Do some stuff
request.session.displayMsg = "update done successfully";
response.setHeader("Location: http://yourdomain.com/");
response.end();
}
function homepageHandler(request,response){
//Display message here which is read from session.
if(request.session.displayMsg){
console.log(request.session.displayMsg);
delete request.session.displayMsg;
}
//Do your regular suff here.
}
2.在下面的方法中你必须多加注意,这里你不打算重定向,但你需要修改你的处理函数,如下所示,
function itempUpdateHandler(request,response){
//Do some stuff
//response.setHeader("Location: http://yourdomain.com/"); //no need here
homepageHandler(request,response, {display:true, msg: "update done successfully"});
}
function homepageHandler(request,response, moreArgs){
//Display message here which is read from session.
if(moreArgs.display){
console.log(moreArgs.msg);
}
//Do your regular suff here.
}
注意:假设您使用的是 express