我正在尝试使用 cookie 来跟踪与我的 Node 应用程序的 SMS 对话,但它们似乎从未被正确设置。至少,当我在用户的下一个文本中检索它们时,它们仍然是空的。
我有这个功能,它设置一个 cookie 并向用户发送响应:
function requestLocation (res, resend) {
var locationXml = "";
...
var responseText = "";
...
var response = new twilio.TwimlResponse();
response.sms(responseText);
res.cookie('rideStage', rideStages.SENT_REQUEST);
res.send(response.toString(), {
'Content-Type':'text/xml'
}, 200);
}
但是当我收到来自该用户的下一条消息时,“request.cookies.rideStage”始终为空。我也试过更换
res.cookie('rideStage', rideStages.SENT_REQUEST);
res.send(response.toString(), {
'Content-Type':'text/xml'
}, 200);
与
res.send(response.toString(), {
'Set-Cookie':'rideStage='+rideStages.SENT_REQUEST,
'Content-Type':'text/xml'
}, 200);
但是,request.cookies.rideStage 仍然是空的。
最佳答案
对于任何看到这个的人来说,我上面发布的内容实际上是正确的。
通过做: res.cookie('cookieName', cookieVal);
然后您可以使用: req.cookies.cookieName
获取cookieVal。它对我不起作用的原因是因为我只是在本地测试我的应用程序并在终端中使用 curl 模拟文本,这完全排除了整个过程中的 Twilio 和 cookie 处理(糟糕)。
关于javascript - 如何使用 Twilio 和 Node 设置 HTTP cookie?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28654924/