【问题标题】:How can I attach a cookie to my jQuery post request header?如何将 cookie 附加到我的 jQuery 发布请求标头?
【发布时间】:2012-05-02 17:11:07
【问题描述】:

How can I replicate this cookie functionality on my Web Client?相关

我在上一个问题中发现我需要在我的请求标头中设置一个 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 指出的那样,我正在做这个客户端。所以我的网站在客户端代码中调用了一个网络服务。

【问题讨论】:

  • 可能值得一提的是,您正在做所有这些客户端。
  • 这篇文章可能对stackoverflow.com/questions/1041285/…有帮助
  • @Seshagiri 我遇到过很多次,但我不知道如何将它应用到我的 jQuery 中。它提到了 .net 和 php,但没有提到客户端脚本。

标签: jquery post cookies


【解决方案1】:

我不确定是否有答案,但是我可以将;jsessionid=[value_here]? 添加到我的网址中,这样就可以了。

例如:

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

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

【讨论】:

    【解决方案2】:

    这里只是推测:

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

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

    How do I set/unset cookie with jQuery?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-02
      • 2016-11-19
      • 1970-01-01
      • 2014-01-17
      • 1970-01-01
      相关资源
      最近更新 更多