0

我在 express( item/update/) 中有一条路线,然后我想将它们发送回/,我还想/用“成功”或“失败”显示警报。我不想使用查询字符串或哈希,因为我希望它对用户隐藏。我也不想渲染/items/update因为这似乎是个坏主意。另外,我已经尝试过 javascript history api,但这似乎是一个 hack,因为 history api 是用于其他用途的。

如果您需要更多信息,请告诉我。

4

1 回答 1

2

你可以做几种方法,

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

于 2013-02-11T08:53:32.517 回答