节点将隐藏的数据传递给其他路由

问题描述:

我有一个快速路由(item/update/),之后发生的情况是我想将它们发回给/,我也想让/显示“成功”或“失败” 。我不想使用查询字符串或哈希,因为我希望它从用户隐藏。我也不想呈现/items/update,因为它似乎是一个坏主意。另外,我已经尝试过javascript历史api,但是这看起来像是历史api的其他功能。节点将隐藏的数据传递给其他路由

如果您需要更多信息,请让我知道。

+0

尝试会话变量 – 2013-02-11 03:57:41

你可以做几种方法,

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.You必须在下面的方法,在这里你都不会重定向某种程度上更照顾,但你需要修改你处理函数如下,

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. 
} 

注意:假设您使用快递