通过Ajax发送flash消息(使用cookie好/坏做法?)

时间:2014-01-23 20:44:51

标签: javascript php ajax cookies flash-message

我想发送一条Flash消息,以便在请求完成时显示。我想将消息直接放在PHP中,因为我认为flash消息的逻辑应该在PHP中。

我的问题是我发送了Json数据,例如当你GET users/

JS收到:

[{user:"John","connected":true},{user:"Jane","connected":false},...] // =data

我想在响应中发送flash消息,但我不想更改Json输出(因为它对于发送自定义对象{"flash_message":"You are connected","data":data}变得不那么开发人员友好了)

所以我考虑设置一些在1分钟后过期的Cookie,这样我就可以在收到请求时显示flash消息。

这是好习惯吗?

1 个答案:

答案 0 :(得分:0)

使用cookie并不是最好的方法,因为cookie应该是持久性数据存储,而不是根据请求发送数据。

自定义请求标头更加合适。

在PHP中,您可以像这样发送它们:

header("X-flash-message-content: $message");

在JS中你可以像这样检索它们

var req = new XMLHttpRequest();
req.open('GET', document.location, false);
req.send(null);
var headers = req.getAllResponseHeaders().toLowerCase();
console.log(headers);