2

如何在我的 Web 客户端上复制此 cookie 功能相关?

我在上一个问题中发现我需要在我的请求标头中设置一个 cookie。

我在第 3 方 Web 服务上调用登录方法,这将返回一个 cookie,我需要在对该服务器的后续请求中使用该 cookie。我曾假设浏览器保留此 cookie 并将其附加到适当的请求,但是,情况似乎并非如此(我可以看到它不在 firebug 中)。

如何在我的请求标头上设置 cookie?

我的电话如下:

var call = serviceUriString + '?' + strRequest;
$.post(call, function(d) {}, 'text').success(function(d) { ..//do something

我想我可能必须在发送之前使用jQuery.ajax( url [, settings] ),但是我找不到任何关于如何设置 cookie 的好例子,或者实际上如何从响应中取出它/坚持它以前的登录请求(以便我可以附加它)。

正如@edr 指出的那样,我正在做这个客户端。所以我的网站在客户端代码中调用了一个 Web 服务。

4

2 回答 2

1

我不确定是否有答案,但是我可以添加;jsessionid=[value_here]?到我的 url 并且有效。

例如:

var call = serviceUriString + ';jsessionid=' + [value_here] + '?' + strRequest;
$.post(call, function(d) {}, 'text').success(function(d) { ..//do something

类似的答案在这里:https ://stackoverflow.com/a/10353875

于 2012-05-01T17:50:29.963 回答
0

这里只是推测:

由于在进行 ajax 调用时 cookie 随行,我怀疑创建的 cookie 是为第 3 方域创建的,因此有理由认为您不会在域的 cookie 中找到

在发布之前尝试在客户端代码中添加 cookie。这个 SO 问题可能会有所帮助:

如何使用 jQuery 设置/取消设置 cookie?

于 2012-05-01T17:57:41.290 回答