【发布时间】:2013-07-01 09:06:17
【问题描述】:
我正在使用 ajax 发布到 javascript 函数中的端点。在发布之前,我在请求中设置了一个名为“Cookie”的标头。我曾尝试使用 beforeSend 和使用 'headers' 设置标题(请参见下面的代码),但有时只设置标题。很多时候“Cookie”标头没有设置。我可以通过查看 Firebug 中 Post 请求的标头来判断这一点。我只对名为“Cookie”的标题有这个问题。所有其他标题都是一致设置的。我无法将“Cookie”标头的名称更改为其他值,因为它是我调用的服务所必需的。
$.ajax({
url:url,
type:'POST',
contentType: "application/xml",
beforeSend: function (request)
{
request.setRequestHeader("Cookie", authCookie);
request.setRequestHeader("Authorization", "Authentication id=company.platform.services.org.test,app_secret=aEWEvsddsdddddds0");
},
headers: {"Cookie": "abc.etc.authid=" + companyID + ",abc.etc.ticket=" + ticket, "Authorization": "Authentication id=company.platform.services.org.test,app_secret=aEWEvsddsdddddds0"},
data: order,
success: createOrderCallback,
error: createOrderError
});
是否有更好的方法来设置此标头以确保始终为每个请求设置它?
【问题讨论】:
-
您不能使用 AJAX 设置 cookie(用于不同的域)。
-
“Cookie”标头由浏览器控制。使用
document.cookie操作cookie (documentation)
标签: javascript http jquery cookies http-headers