繁体   English   中英

如何将Cookie设置为HTTP请求?

[英]How can I set cookies to an HTTP Request?

我需要为HTTP请求设置cookie。

有可能做这样的事情吗?

$.ajax({
    method: "POST",
    url: "http://example.org/",
    dataType: "html",
    data: {
        game: "soccer",
        value: "2395",
        action: "newGame"
    },
    cookies: {
        "domain": ".example.org",
        "name": "SESSION",
        "path": "/",
        "value": "34645645765756757"
    }
}).done(function( msg ) {
    console.log(msg);
});

您无需显式添加cookie到您的请求,它将发送您当前拥有的cookie。

如果您尝试链接到另一个网站,则需要设置HTTP跨域访问权限: https : //developer.mozilla.org/en-US/docs/Web/HTTP/CORS

和使用

$.ajax({
   url: a_cross_domain_url,
   xhrFields: {
      withCredentials: true
   }
});

您也可以尝试在请求之前重置Cookie标头

$.ajax({
  //...
  beforeSend: function(request) {
    request.setRequestHeader("Cookie", "name=value; name2=value2; name3=value3");
  },
  //...
});

对于所有相同的域请求,将自动发送和接收Cookie。

如果需要发送和接收设置withCredentials跨域cookie。 您无法控制这些Cookie是什么

$.ajax({
   url: a_cross_domain_url,
   xhrFields: {
      withCredentials: true
   }
   //... other options
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM