2013-02-11 84 views
0

我有一個快速路由(item/update/),之後發生的情況是我想將它們發回給/,我也想讓/顯示「成功」或「失敗」 。我不想使用查詢字符串或哈希,因爲我希望它從用戶隱藏。我也不想呈現/items/update,因爲它似乎是一個壞主意。另外,我已經嘗試過javascript歷史api,但是這看起來像是歷史api的其他功能。節點將隱藏的數據傳遞給其他路由

如果您需要更多信息,請讓我知道。

+0

嘗試會話變量 – 2013-02-11 03:57:41

回答

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

注意:假設您使用快遞