我有快递(item/update/
)的路线,之后我想将它们发回/
,我也希望/
显示'成功的提醒'或'失败'。我不想使用查询字符串或哈希,因为我希望它对用户隐藏。我也不想在/
处呈现items/update
,因为这似乎是一个坏主意。此外,我已经尝试了javascript历史api,但这似乎是一个黑客,因为历史api是其他东西。
如果您需要更多信息,请告诉我。
答案 0 :(得分:2)
你可以做几种方式,
1.您可以使用查询字符串重定向到“/”url。由于您不想在查询字符串中添加数据,因此备用选项是会话。
例如,
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.
}
注意:假设您使用快递