Javascript jqueryajaxdon';t设置Cookie(设置Cookie头为空)

Javascript jqueryajaxdon';t设置Cookie(设置Cookie头为空),javascript,jquery,ajax,asp.net-mvc,cookies,Javascript,Jquery,Ajax,Asp.net Mvc,Cookies,我尝试用JavaScript设置Cookie。没有跨域请求。 我有一个简单的jQuery AJAX POST代码: console.log("before cookies:" + document.cookie); $.ajax({ url: "MYDOMAIN.COM", type: "POST", data: data, success: function (result, status, xhr) {

我尝试用JavaScript设置Cookie。没有跨域请求。 我有一个简单的jQuery AJAX POST代码:

console.log("before cookies:" + document.cookie);
$.ajax({
        url: "MYDOMAIN.COM",
        type: "POST",
        data: data,
        success: function (result, status, xhr) {
            var cookieSetData = xhr.getResponseHeader('Set-Cookie');
            var allHeader = xhr.getAllResponseHeaders();
            console.log("after cookies:" + document.cookie);
        }
});
日志结果

before cookies:
after cookies:
我从服务器发送的Cookie:

HttpCookie cookie = new HttpCookie("TempData");
cookie.Expires = DateTime.Now.AddMinutes(30);
cookie.Path = "/";
cookie.HttpOnly = false;
cookie.Value = somevalue;
ControllerContext.HttpContext.Response.SetCookie(cookie);
有来自FireBag的响应标题:

Set-Cookie: "TempData=AAEAAAD/////A…ul-2017 08:23:13 GMT; path=/"
Cache-Control: "private"
Content-Type: "text/html; charset=utf-8"
Content-Encoding: "gzip"
Vary: "Accept-Encoding"
Server: "Microsoft-IIS/10.0"
X-AspNetMvc-Version: "5.2"
x-aspnet-version: "4.0.30319"
X-SourceFiles: "=?UTF-8?B?RDpc0JDQvdC00YDQtdC…BwaW5nQ2FydFxBZGRUb0NhcnQ=?="
X-Powered-By: "ASP.NET"
Content-Length: "576"
但是
xhr.getResponseHeader('Set-Cookie')
返回值为空,并且浏览器不会自动设置Cookie(日志窗口中没有Cookie)。
xhr.getAllResponseHeaders()
不包含“设置Cookie”。 为什么?


如何使用jQuery.ajax保存cookie?

您将无法从ajax响应中获取cookie数据。见@MahbuburRahman,一小部分。如果cookie具有属性
HttpOnly:true
,则无法从程序读取cookie。e、 g
document.cookie
。否则它是可读的。您将无法从ajax响应中获取cookie数据。见@MahbuburRahman,一小部分。如果cookie具有属性
HttpOnly:true
,则无法从程序读取cookie。e、 g
document.cookie
。否则它是可读的。